دوره های آموزشی آکادمی هنرهای دیجیتال مجید آنلاین جهت کسب اطلاعات بیشتر در زمینه دوره های آموزشی با شماره 021-88350136 تماس بگیرید
صفحه 2 از 4 اولاول 1234 آخرینآخرین
نتایج 11 تا 20 از 37

موضوع: دلفی و دیتابیس

  1. #11
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض


    منبع :
    http://www.drlearn.ir/programing/7.html
    -------------------------------------------------------------
    كار با بانكهای اطلاعاتی در دلفی - قسمت دوم

    در جلسه قبل با نحوه اتصال به پایگاه داده و نمایش داده ها به صورت ابتدایی آشنا شدیم. در این جلسه می خواهیم برخی کارهای عملیاتی نظیر افزودن، حذف، بروز رسانی و ویرایش داده ها را مرور کنیم. ابتدا آسانترین راه را پیشنهاد می دهیم:

    1. استفاده از DBNavigator:
    ================
    این جزء ساخت که در پالت DataControls قرار دارد علاوه بر قابلیتهای پیمایشی، راهکاری را برای انجام عملیاتی چون افزودن، حذف یا لغو را فراهم می کند. وجود دکمه ها اختیاری بوده و با استفاده از خاصیت VisibleButtons می توان هر ترکیبی از دکمه ها را انتخاب نمود. برای استفاده از این جزء ساخت آن را روی فرم قرار داده و در قسمت Object Inspector خاصیت DataSource آنرا به DataSource مورد نظر مقدار دهی می کنیم. چهار دکمه اول دکمه های پیمایشی هستند که با استفاده از آنها می توان به اولین و آخرین رکورد انتقال یافت، یا بین رکوردها حرکت کرد. دکمه های بعدی عبارتند از افزودن، حذف کردن، ویرایش، تایید، لغو و Refresh.

    وقتی DataSet را در حال ویرایش یا Edit قرار داده ایم و اقدام به تغییر داده ها می کنیم تا زمانیکه عمل تایید یا Post را انجام ندهیم، تغییرات مورد نظر در پایگاه داده اعمال نخواهد شد.

    سالک: به یکی از پروژه هایتان ناویگیتور را اضافه کنید. و صفت دیتا سورسش را به دیتاسورس برنامه وصل کنید.
    این ابزار یک سری دکمه دارد.
    دکمه آخر ((دکمه رفرش است)) .
    من پروژه ام به اکسس وصل بود. بعد تغییرات در DBGrid تا دکمه رفرش را نمی زدیم فایل دیتابیس که در هارد قرار دارد تغییر نمی کند.
    اما ((دکمه ادیت)) و ((دکمه ok )) ( شبیه تیک است شکلش) مجموعا باعث تغییر فایل در هارد میشد.
    من فایل را با اکسس میکروسافت باز می کردم.

    نکته بعدی راجع به (( دکمه اینسرت)) است. با وجودی که هر جا دکمه را می زدیم همان جا ردیف باز می شد ولی بعد رفرش می رفت سطر آخر. البته تیبل من ستون اتونامبر داشت. شاید هم به خاطر این بوده.



  2. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  3. #12
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض


    2. با استفاده از کدنویسی:
    ===============

    با این روش متدهای مورد نظر یک DataSet را فراخوانی می کنیم. این متدها دقیقا همنام با دکمه های جزءساخت DBNavigator هستند. یکی از عملیات پیمایشی که جزء ساخت DBNavigator فراهم نمی کند حرکت رو به جلو یا عقب به اندازه چند رکورد است. از متد MoveBy یک DataSet برای انتقال نشانه رو یک رکورد نسـبت به رکورد فعال استفاده می شود. مـــثلا دسـتور (MoveBy(2 باعث حرکت با گامهای 2 تایی رو به جلو می شود، و دستور (MoveBy(-2 موجب حرکت رو به عقب با گام هایی به طول 2 می شود.

    اکنون تغییر و اصلاح داده ها را با هم مرور می کنیم. برای انجام هر کاری روی DataSet ها ابتدا باید DataSet مورد نظر باز باشد. در غیر اینصورت هیچ عملیاتی را روی داده ها نمی توان انجام داد. برای اینکار یا باید خاصیت Active را برای DataSet مورد نظر در حالت True قرار دهیم و یا از متد Open استفاده کرده و قطعه کدی مانند ;Adotable1.Open بنویسیم. برای بستن DataSet هم باید متد Close را فراخوانی کنیم.

    برای آگاهی یافتن از وضعیت جاری یا State یک DataSet می توانیم از متد State یا رویداد (Event) به نام OnStateChange استفاده کنیم که هر بار به هنگام تغییر وضعیت DataSet متناظرش فعال می شود. مثلا اگر قطعه کد زیر را در قسمت پاسخگویی به رویداد OnStateChange بنویسیم سبب می شود تا وضعیت جاری AdoTable1 در Edit1 نمایش داده شود:
    کد:
    Var
    St : String ;
    
    Begin
         Case AdoTable1.State of
    
    dsInactive: st := ' closed ' ;
    dsEdit: st := ' Editing ' ;
    dsInsert: st:= ' Inserting ' ; 
    Else st := ' other state ' ;
    
         End ;
    
    form1.caption := 'AdoTable1 state :' + st ;
    
    End ;
    سالک:
    رویداد OnStateChange را در بین رویدادهای ADOTable من پیدا نکردم.
    ولی دیتاسورس دارای این رویداد بود.
    من کد زیر را امتحان کردم:
    کد:
    procedure TForm1.DataSource1StateChange(Sender: TObject);
       var
    St : String ;
    
    begin
    
      Case AdoTable1.State of
    
    dsInactive: st := ' closed ' ;
    dsEdit: st := ' Editing ' ;
    dsInsert: st:= ' Inserting ' ;
    Else st := ' other state ' ;
    
       end ;
    
    Edit1.text :=  st ;
    
    end ;

    در شکل بالا با زدن دکمه ادیت می بینید که داخل ادیت نوشته Editing و همین طور با زدن دکمه اینسرت(دکمه دارای شکل بعلاوه) هم ی نویسد Inserting .
    با استفاده از متد های First و Last می توان به ترتیب نخستین یا آخرین رکورد را به عنوان رکورد جاری تعیین کرد. متد Next و Prior برای رفتن به رکوردهای بعدی و قبلی است. خصوصیت BOF و EOF نشان می دهد نشانه رو در آخرین سطر یا نخستین سطر DataSet است.



  4. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  5. #13
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    ادامه از :
    http://www.drlearn.ir/programing/7.html



    به دست آوردن مقدار فیلدها


    قبل از اینکه عملیات دیگر را معرفی کنیم باید ببینیم که چگونه می توانیم مقدار یک فیلد از یک رکورد را بدست بیاوریم؟ وقتی شیء های DataAware نظیر DBGrid به یک DataSet متصل می شود مقادیر فیلدها در آن شیء های کنترلی نمایش داده می شود. اگر بخواهیم همان مقادیر را مستقیما در برنامه به کار ببریم باید شیوه خواندن آنها را بدانیم. برای دستیابی به مقدار داده یک فیلد چندین روش وجود دارد:
    کد:
    1. ADOTable1.Fields[x].Value
    در کد بالا X شماره فیلد است، که از صفر شروع می شود. تمام فیلدهای یک DataSet در آرایه Fields ذخیره می شود و X نمایانگر موقعیت فیلد در آرایه است.
    کد:
    2. ADOTable1.FieldByName('name_of_field').Value
    در این روش به مقدار فیلد با نام آن دستیابی پیدا می کنیم.

    در هر دو این روشها چون Value از نوع Variant است، هنگام نیاز به مقدار فیلدها باید آن را به نوع مورد نظر تبدیل کنیم. مثلا اگر مقدار فیلدی به صورت رشته باشد، از خصوصیت AsString استفاده می کنیم.

    سالک: در برنامه من فیلدهای دوم و سوم عددی و فیلد آخر یعنی چهارمی متنی است.
    برای همین تبدیلاتی لازم بوده که در کد خود من انجام داده ام.
    در عکس زیر کدها روی باتون ها هست و نیازی به درج کد دیگه نیست ولی باز می آورم:
    کد:
     edit2.Text :=ADOTable1.Fields[3].value ;
    edit3.Text := ADOTable1.FieldByName('Field1').AsString ;


    ویرایش یک رکورد:


    برای اینکه بتوان داده های یک DataSet را ویرایش نمود، DataSet باید در وضعیت Edit باشد. رفتار شیء های DataAware نظیر DBGrid - هنگامیکه مقدار True به خاصیت AutoEdit آنها تخصیص می یابد - این است که وقتی کاربر روی یکی از فیلدها کلیک می کند تا آنرا ویرایش کند، وضعیت DataSet از حالت Browse به حالت Edit تغییر می یابد. باید دقت کرد که پس از Edit باید عمل Post را هم انجام دهیم. مثلا در کد زیر:


    کد:
    ADoTable1.Edit ;
    
    AdoTable1.name_of_field.AsString := 'delphi' ;
    
    Adotable1.Post ;

    در سطر نخست dataset در وضعیت Edit قرار می گیرد. در سطر دوم رشته Delphi به فیلد name_of_field تخصیص می یابد، و در سطر آخر هم داده ها Post می شوند. جالب است بدانید که در اثر اجرای سه دستور بالا رویدادهای زیر فعال می شوند:



    AdoTable1 BeforeEdit

    DataSource1 StateChange

    Datasource1 DataChange

    AdoTable1 AfterEdit

    Adotable1 name_of_field Validate

    Adotable1 name_of_field Change

    DataSource1 StateChange

    Datasource1 DataChange

    AdoTable1 BeforePost

    DataSource1 StateChange

    AdoTable1 AfterPost
    سالک: من با کد زیر توانستم کار کنم:
    کد:
    ADOTable1.Edit;
    ADOTable1.FieldByName('Field3').AsString := 'hamed';
    ADOTable1.Post;
    اگر بخواهیم مثلا محتوای یک ادیت را به جای اسم حامد به کار ببریم. به این شکل میشه:
    کد:
    ADOTable1.FieldByName('Field3').AsString := edit1.text;
    و برای فیلدهای عددی کد زیر:
    کد:
    ADOTable1.Edit;
    ADOTable1.FieldByName('Field2').value := 6677;
    ADOTable1.Post;

  6. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  7. #14
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    ادامه از :
    http://www.drlearn.ir/programing/7.html


    افزودن یک رکورد:


    برای اینکار از دو متد مربوط به DataSet می توانیم استفاده کنیم. اولین متد Insert و دومین متد Append است. هردو این متدها یک رکورد جدید خالی در جدول ایجاد کرده و رکورد جدید را به عنوان رکورد فعال (Active) در نظر می گیرند. تنها تفاوت ما بین این دو دستور اینست که متد Append این رکورد جدید را در انتهای DataSet ایجاد می کند (به انتهای جدول اصافه می کند)، اما در متد Insert این رکورد جدید ممکن است در هر جایی از DataSet اضافه شده باشد. قطعه کد زیر نحوه انجام این عمل را نشان می دهد:
    کد:
    With AdoTable1 Do
    
    Begin
    
    Append ;
    
    FieldByName('name').Value.AsAtring := 'ali' ;
    
    FieldByName('Email').Value.AsString := ' ali@yahoo.com' ;
    
    FieldByName('id').Value.AsString := '50' ;
    
    Post ;
    
    End ;
    البته جزء ساخت AdoTable متدی به نام InsertRecord دارد که از آن می توان برای ایجاد یک رکورد خالی جدید در Dataset، پر کردن فیلدهای این رکورد جدید و Post کردن مقادیر به بانک اطلاعاتی استفاده نمود. کد زیر نحوه انجام این عمل را نشان می دهد:
    کد:
    AdoTable1.InsertRecord ( ' ali' ,' ali@yahoo.com ' , '50' ) ;
    باید توجه داشت که ترتیب داده ها با ترتیب قرار گرفتن آنها در فیلدهای مورد نظر یکسان باشد.
    سالک : من با کدهای زیر کار کردم:
    کد:
      With AdoTable1 Do
     Begin
    
    Append ;
    
    FieldByName('Field1').value := 21 ;
    FieldByName('Field2').value := 45000 ;
    FieldByName('Field3').AsString := 'javid' ;
    
    Post ;
      end;
    فیلد اولی از نوع autonumber بود که مقدار ندادم.
    کد:
      AdoTable1.InsertRecord ([nil,'20' ,'72000' , 'sadegh'] ) ;
    فیلد اولی از نوع autonumber بود که nil نوشتم.

    حذف یک رکورد:


    برای اینکار متد Delete مربوط به DataSet مورد نظر را فراخوانی می کنیم و نیازی به فراخوانی متد Post پس لز فراخواندن Delete نیست. با استفاده از رویداد BeforeDelete می توان جهت جلوگیری از حذف رکورد از جدول اقدام کرد. برای اینکه کاربر را از اینکه می خواهد رکوردی را حذف کند آگاه کنیم یا در حقیقت از کاربر بخواهیم که عمل حذف را تایید کند چندین راه وجود دارد. اولین روش استفاده از تابع MessageDlg است. این تابع در کتابخانه Dialogs به صورت زیز تعریف شده است :

    کد:
    Function MessageDlg ( Const Msg : String ; DlgType : TMsgDlgType ; Buttons : TMsgDlgButtons ; HelpCtx : Longint )
    پارامتر اول پیامی است که می خواهیم به کاربر نشان داده شود. پارامتر دوم نوع پیام و پارامتر سوم ترکیب دکمه هایی است که در پیام می خواهیم ظاهر شود. MsgDlgBtn می تواند یکی از مقادیر mbOK, mbCancel, mbYes, mbNo, mbRetry و . . . را بپذیرد. برای اینکه بفهمیم کاربر کدامیک از دکمه ها را کلیک کرده است مثل کد زیر عمل می کنیم:
    کد:
    If messagedlg ( 'Are you sure you want to delete book?' , mtWarning , mbOKCancel , 0 ) = mrOk Then
    
    AdoTable1.Costumer.Delete ;
    سالک : من با کد زیر کار کردم:
    کد:
      AdoTable1.Delete ;

    کد Append1 در عکس بالا اینه:
    کد:
      With AdoTable1 Do
     Begin
    
    Append ;
    
    FieldByName('Field1').value := 21 ;
    FieldByName('Field2').value := 45000 ;
    FieldByName('Field3').AsString := 'javid' ;
    
    Post ;
      end;
    کد state هم این است:
    کد:
    procedure TForm1.DataSource1StateChange(Sender: TObject);
       var
    St : String ;
    
    begin
    
      Case AdoTable1.State of
    
    dsInactive: st := ' closed ' ;
    dsEdit: st := ' Editing ' ;
    dsInsert: st:= ' Inserting ' ;
    Else st := ' other state ' ;
    
       end ;
    
    Edit1.text :=  st ;
    
    end ;
    یک نکته کوچک هم بگم: در موارد خاصی از تغییر صفات ادوکانکشن و دیتاسورس خودبخود صفت Active ادوتیبل False میشه که باید True کنید.
    گاهی هم برای اینکه در حالت طراحی اطلاعاتی که در DBGrid می بینید رفرش بشه همین صفت یعنی صفت Active ادوتیبل را False و دوباره True کنید.

    این قسمت تمام شد.

  8. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  9. #15
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    از :
    http://forum.p30world.com/showthread.php?t=52758
    -------------------------------------------------------------

    درس1 : آشنایی با بانک اطلاعاتی
    دوستان اول به نظرم لازم بود که درباره معنای بانک اطلاعاتی بدونین.
    برای فهم راحت این موضوع یک مثال میزنم.
    فرض کنید یک دفترچه تلفن خریدید.
    معمولا 3 بند در آن مشترک است
    1. نام
    2. تلفن
    3. آدرس
    که زیر آنها کلی جای خالی برای نوشتن تلفن و اسم هست.
    در مفهوم بانک اطلاعاتی به هر یک از این بخشهای 1-2-3 یک فیلد گفته میشود.
    به هر یک از اسم و فامیلی که مینویسیم یک رکورد گفته میشود.
    در ساخت بانک اطلاعاتی همیشه تعداد فیلدها محدود است و نوع آنها مشخص میباشد.
    ولی رکوردها تا اندازه ای که هارد شما ضرفیت دارد امکان ذخیره اطلاعات را دارد.
    به مخموعه ای از فیلدها و رکوردها یک بانک اطلاعاتی گویند.

    ساختار بانکهای اطلاعاتی معمولا تجربی است و راه خاصی برای تشخیص تعداد و نوع فیلدها وجود ندارد و فقط با کارکردن زیاد می توان ساختار بهینه را آموخت.
    دیتابیسها دو نوعند. دیتابیسهای یک جدوله مثل فاکسپرو و دی بیس. و دیتابیسهای چند جدوله مانند اکسس.
    چون هدف ما آموزش دیتابیس دلفی است بیشتر درباره این موضوع (طراحی بانک اطلاعاتی) صحبت نمیکنم.

  10. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  11. #16
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    از :
    http://forum.p30world.com/showthread.php?t=52758
    -------------------------------------------------------------
    درس2 : معرفی دیتابیس به دلفی
    برای این منظور در دلفی یک سری کامپوننت وجود دارد که در بخش Data Access و Data control قرار دارد.
    در بخش اول معمولترین کامپوننت هایی که استفاده می شود Table و Datasource است.
    Table برای معرفی دیتابیس استفاده میشود
    شما میتوانید در بخش DataBaseName اسم فایل دیتابیس طراحی شده خودتون رو وارد کنید
    پیشنهاد من اینه که همیشه فایل دیتابیستون رو اونجایی قرار بدین که فایا EXE شما قرار داره. چون به این ترتیب نیازی به تعریف مسیر ندارید.
    در بخش TableType شما میتوانید نوع دیتابیسی که باهاش کار می کنید رو معرفی کنید.
    بعد از این دو مورد مهمترین مسائلی که وجود داره اول بخش فیلتر کردن آن است که میتوانید با ساختار زیر عمل کنید.

    (FieldName1) = 'String' and (FieldName2) = number
    منظور از (FieldName1&2) اسم فیلدی هست که شما در دیتابیس معرفی کردید و جنس فیلد اول کاراکتری و جنس فیلد دوم عددی میباشد.

    و دوم بخشی برای استفاده چند کاربره از دیتابیس که در صورتی که مقدار CachedUpdate برار True باشد, امکانپذیر است.
    درباره طرقه استفاده از آن در درسهای بعدی توضیح میدم.

    بعد از تعریف Table شما میتوانید Datasource را روی فرم گذاشته و به راحتی Table رو به Datasource مرتبت کنید.

    دلیل استفاده از دیتاسورس در درس بعدی قرار دارد.

  12. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  13. #17
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    از :
    http://forum.p30world.com/showthread.php?t=52758
    -------------------------------------------------------------

    درس 3 : ارتباط دادن دیتابیس به فرم
    دوستان دو موردی که در درس قبلی مطرح شدند ، اشیا غیر نمایشی هستند.
    یعنی اگر این دو بر روی یک فرم قرار داشته باشند ، اگر برنامه اجرا شود چیزی بر روی فرم ظاهر نمیشود.
    البته معمولا بر روی DataModul قرار میگیرند که بعدا درباره آن صحبت میشود.
    در واقع این دو یک رابط بین دیتابیس و اشیا نمایشی هستند.

    اشیا نمایشی در بخش DataControl وجود دارد که در این در به توضیح DBText و DBEdit می÷ردازیم و در درس بعدی توضیحات را کاملتر می کنیم.

    DBText : این شی برای نمایش یک مقدار که در درون دیتابیس وجود دارد استفاده میشود.
    در خصوصیات تمام زیر مخموعه DataControl یک بخش به نام DataSource وجود دارد که اگر آن را انتخاب کنید ، لیستی از Datasource هایی که قبلا ایجاد کردید را در آن میبینید.
    یک خصوصیت مهم دیگر نیز وجود دارد که DataField میباشد.
    این خصوصیت یکی از فیلدها را برای DBText مشخص مینماید تا به نمایش درآورد.
    باقی خصوصیات را قاعدتا میشناسید. و هیچ چیز خاص و مهمی ندارد.
    DBEdit : این شی درست مثل DBText میباشد با این تفاوت که امکان تغییر نیز وجود دارد.
    Event های این شی بیشتر از DBText است ولی تمام این Event ها در سایر اشیا دلفی مشترک است.

    DBComboBox هم دقیقا مشابه با DBEdit است با این مزیت که میتوان مقادیر را نیز محدود کرد.
    سایر اشیا هم مانند DBImage و DBMemo برای دسترسی به فیلدهای عکسی و یادداشتی استفاده میشوند.
    برای اینکه این مبحث خیلی طولانی نشد DBGrid در درس بعدی آموزش داده میشود.

  14. #18
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    از :
    http://forum.p30world.com/showthread.php?t=52758
    -------------------------------------------------------------
    درس 4 : در این بخش میخوام درباره DBGrid صحبت کنم.
    این شی جز قویترین و در بعضی جاها مهمترین شی در طراحی یک برنامه به حساب میاد که امکانات متنوعی داره. یکی از مهمترین کارهایی که در فرم انجام میدهد نمایش یک مجموعه فیلتر شده خاص است که حتی فیلدهای آن نیز مشخص شده است.
    برای توضیح کامل این شی با یک مثال جلو میروم.
    فرض کنید که با یک دیتابیس دارین کار میکنین که یک جدول داره و دارای فیلدهای زیر است :
    1. کد کارمندی 2.نام 3.آدرس 4.تلفن 5.حقوق 6. وظیفه در کارگاه

    حال فرض کنید که یک گزارش ساده از افرادی میخواین که مثلا مورد 6 آنها "کارگر" است.
    در این گزارش که روی مونیتور هم هست لزومی برای نمایش "آدرس"و"حقوق"و"کد کارمندی" نیست.
    مراحل زیر را انجام میدهیم.

    1. DBGrid را روی فرم قرار میدهیم.
    2. DataSource آن را مشخص میکنیم.
    3. روی DBGrid دبل کلیک می کنیم و یک صفحه سفید ظاهر میشود.
    4. دکمهای در بالای این صفحه است. (ADD NEW)
    5. یک آیکون به لیست سفید اضافه میشود. آن را انتخاب کنید
    6. در خاصیت FieldName نام فیلد مورد نظرتان را انتخاب کنید.
    7. بخش Title را انتخاب کرده و در بخش Caption نامی که برای فیلد مد نظرات است را برای نمایش روی مونیتور وارد کنید. این بخش معمولا برای برنامه های فارسی استفاده میشود.
    8. سایر مشخصات مربوط به ستون را تعیین کنید. سایر مشخصات واضح هستند و خیلی کاربردی نمیباشند.

    اگر مراح 3 به بعد را انجام ندهید کل فیلدها نمایش داده میشوند. ولی اگر این کارها انجام شود و فیلدهای مورد نظرتان را انتخاب کنید فقط آنها را نشان خواهد داد.
    حال اگر Table را فیلتر کنید ، تغییرات آن بلافاصله بر روی DBGrid اعمال میشود.

    کمی هم درباره DBImage صحبت کنم.
    چون گویا دوستان کمی مشکل داشتند.
    برای استفاده از این شی به راحتی میتوان عکس را ارد بانک اطلاعاتی کرد.
    درست مثل تمامی اشیا این صفحه ابتدا باید DataSource و فیلد آن مشخص گردد.
    برای انتفال عکس از روی هارد به درون دیتابیس هم میتوان به هر روشی (برای مثال Dialogs) نام و مسیر فایل را بدست آورد و با کد زیر آن را وارد کرد:
    کد:
    DBImage.Picture.LoadFromFile(……)
    منظور از ... هم همان انتخاب شما برای یافتن نام و مسیر فایل است.
    حتی به صورت مستقیم می توان نام فایل را نوشت.
    برای مثال :
    کد:
    DBImage.Picture.LoadFromFile(‘c:\window\art.jpg’)

  15. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  16. #19
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    از :
    http://forum.p30world.com/showthread.php?t=52758
    -------------------------------------------------------------
    درس 5 : دیتا ماژول
    دوستان اگر تا اینجای بحث را پیگیری کرده باشی الان باید بتوانید که یک دیتابیس تک جدوله را کنترل و در یک برنامه استفاده کنید.
    برای اینکه در یک برنامه کاربردی همیشه بیش از یک فرم است که با جدول در تماس میباشد ، تعریفات دیتابیس و جدول را در بخش دیگری به نام دیتا ماژول انجام میدهیم.
    این بخش همانند یک فرم اضافی برای برنامه میباشد و هر فرمی که به اطلاعات جدول لینک باشد را به آن اتصال میدهیم. این ماژول را میتوان از طریق File/New…/DataModual اضافه نمود.
    سایر کارکردهای این بخش همانند فرم است وتنها فرق آن در عدم نمایش همیشگی آن برای کاربر است.
    یعنی امکان نمایش (Form.ShowModal) را ندارد.

    تاکید میکنم که روی درس 3 و 4 خیلی کار شود که مطالب آنها برای تمامی ساختارهای دیتابیسی در دلفی کاربر دارد. اکثر کامپوننتهایی که در بخش DataSource وجود دارند کار معرفی جدول را به عهده دارند ، البته با تفاوتهایی نسبت به Table و چون حجم مطالب خیلی زیاد میشود از توضیح درباره آنها صرف نظر کردم.

  17. کاربران زیر به خاطر این نوشته مفید از saalek110 تشکر کرده اند :


  18. #20
    فعالیت کل: 0%
    آواتار 1
    تاریخ عضویت
    28 خرداد 84
    پست ها
    2,426
    امتیازها
    22,131
    سطح
    92
    دفعات تشکر از دیگران
    477
    تشکر شده : 1,314 بار در 850 پست

    پیش فرض

    سالک : منظور از این دو صفحه آشنایی با روش وصل شده با دیتابیس و آشنایی با بعضی ابزارها بود.

صفحه 2 از 4 اولاول 1234 آخرینآخرین

اطلاعات موضوع

کاربران در حال مرور این موضوع

اکنون1 کاربر در حال مرور این موضوع است (0 عضو و 1 میهمان )

اشتراک ها

مجوزهای ارسال پست

  • نمی توانید موضوع جدید ارسال کنید
  • نمی توانید پاسخ ارسال کنید
  • نمی توانید پیوست ارسال کنید
  • نمی توانید پست هایتان را ویرایش کنید
  •