|
ارتباط بین دو جدول در دلفی از طریق کلید خارجی
|
|
۳-مهر-۱۳۹۰, ۱۲:۳۶ صبح
(آخرین ویرایش در این ارسال: ۳-مهر-۱۳۹۰ ۱۲:۳۹ صبح، توسط حسین صابری.)
ارسال: #1
|
|||
|
|||
|
ارتباط بین دو جدول در دلفی از طریق کلید خارجی
سلام خدمت دوستان عزیز در این پست قصد دارم طریقه ارتباط بین دو جدول را از طریق تعریف کلید خارجی آموزش بدم. این آموزش چه موقع به درد میخوره؟ فرض کنید شما دو جدول دارید که قبلاً اونها رو در اکسس تعریف کردید، یکی جدول مشخصات نویسندگان و دیگری جدول مشخصات کتاب و هر کدوم از جداول فیلدهای مربوط به خودشون رو دارند، یکی از فیلدهای مهم در مشخصات کتاب مشخصات نویسنده کتاب میباشد. ولی ما مشخصات نویسنده را قبلاً در جدول نویسندگان وارد کرده ایم و قصد نداریم برای هر کتاب این نویسنده مشخصات او را مجدداً وارد کنیم بنابراین در جدول مشخصات کتاب یک فیلد به نام کد نویسنده تعریف میکنیم و قصد داریم به محض اینکه کاربر کد نویسنده را وارد کرد سایر مشخصات آن از جدول مشخصات نویسنده وارد شود. برای شروع این آموزش حتماً باید قسمتهای زیر رو مطالعه کنید: 1- ساختن دو جدول و ارتباط بین آنها با مثال 2- ایجاد ارتباط بین دلفی و اکسس 2007 و 2010 بعد از مطالعه قسمتهای شما باید بتوانید یک بانک مانند بانکی که ما مثال زدیم در اکسس ایجاد نمایید و سپس اونرو به دلفی متصل کنید. حالا میریم سراغ ادامه کارهایی که باید انجام بدیم: مراحل زیر را در دلفی به ترتیب انجام بدین: 1- بعد از ایجاد بانک (مانند آموزش) یک پروژه جدید ایجاد کنید و اونرو به بانک متصل (مانند آموزش) کنید (در این مرحله فعلاً فقط شیء TADOConnection را اضافه کنید و بقیه اشیاء را به ترتیب زیر اضافه کنید). 2- دو شیء TADOTable را به فرم اضافه میکنیم و: شیء ADOTable1 را انتخاب نموده وخاصیت Connection آنرا به ADOConnection1 و خاصیت نام آنرا به tblAuthor و برای خاصیت TableName آن جدول مشخصات نویسندگان را قرار میدهیم سپس خاصیت Active آنرا True میکنیم. شیء ADOTable2 را انتخاب نموده وخاصیت Connection آنرا به ADOConnection1 و خاصیت نام آنرا به tblBook و برای خاصیت TableName آن جدول مشخصات کتابها را قرار میدهیم سپس خاصیت Active آنرا True میکنیم. 3- دو شیء TDatasource را به فرم اضافه میکنیم و : نام DataSource1 را dsAuthor و خاصیت DataSet آنرا به tblAuthor تغییر میدهیم. نام DataSource2 را dsBook و خاصیت DataSet آنرا به tblBook تغییر میدهیم. 4- دو شیء DBGrid به فرم اضافه میکنیم و : نام DBGrid1 را grdAuthor و خاصیت DataSource آنرا به dsAuthor تغییر میدهیم. نام DBGrid2 را grdBook و خاصیت DataSource آنرا به dsBook تغییر میدهیم. 5- روی هریک از اشیاء tblBook و tblAuthor دوبار کلیک کرده و در پنجره باز شده کلیک راست نموده و گزینه Add All Fields را انتخاب میکنیم. 6- روی شیء tblBook مجدداً دوبار کلیک کرده و گزینه New Field را انتخاب میکنیم. در پنجره باز شده مشخصاتی به شرح زیر وجود دارد : Name: نام فیلد جدید Type: نوع اطلاعات وارده برای فیلد Comment: توضیح فیلد Size: اندازه فیلد (به کاراکتر) Field Type: 1- Data: فیلدهای اطلاعاتی 2-Calculated: فیلذهای محاسباتی 3-Look Up این همون نوع فیلدی هست که باید برای این کار انتخاب بشه بعد از انتخاب Look Up گزینه های زیر فعال میشوند: Key Field: نام فیلد کلیدی که هر دو جدول مشترک است Dataset: نام جدول دوم lookUp Keys: نام فیلد مشترک در جدول دوم Result field: فیلد نتیجه که میخواهید در جدول نمایش داده شود 7- ما برای هدف خودمون موارد زیر را در پنجره بالا وارد میکنیم: Name: auth_Name Type: String FieldType: Look Up KeyFields: auth_Code Data Set: tblAuthor LookUp Keys: auth_Code Result field: auth_FName بعد از این مرحله فیلد مورد نظر ایجاد شده و فقط باید اونرو در جدول نشون بدیم برای این منظور روی هر کدام از اشیاء grdBook و grdAuthor دوبار کلیک کرده و در پنحره باز شده گزینه Add All Fields را انتخاب میکنیم. بعد از انجام این مراحل و اجرای پروژه میبینیم که با وارد کردن کد نویسنده در جدول کتابها نام نویسنده از جدول نویسندگان درج میگردد. برای سایر فیلدهای جدول نویسندگان هم میتوان به همین ترتیب عمل نمود (با کمی اختلاف - فقط در قسمت 7 ). سورس فایل تمرینی پروژه رو هم برای دانلود قرار دادم البته با تغییرات بسیار اندک. رمز فایل : Talant.ir البته دوستان یادشون باشه که در سورس پروژه باید اتصال رو دوباره با توجه به سیستم خودشون برقرار کنند دیگران قرعه قسمت همه بر عیش زدند دل غم دیده ما بود که هم بر غم زد حافظ |
|||
|
|