پرسش و پاسخ های رایج دیتابیس (FAQ Database)
سلام:5:
در این تاپیک سوال های رایج در مورد دیتابیس های دلفی قرار داده میشه
که دوستان سریع تر به موضوع مورد نظرشون برسن. من خودم
توی هر پست یک فرمان و خاصیتش رو میزارم. اگر چیزی
یادم رفته. لطفآ با پیغام خصوصی بهم اطلاع بدید. تا اضافه بشه.
فعلآ خداحافظ.
Sql چی هست؟ نیاز به نصب داره؟
سلام
ديتابيسي از نوع SQL وجود نداره .:41:
SQL با بانک اطلاعاتی Sql Server فرق میکنه. که پایین متوجه میشید.
یک زبان پرس و جو از دیتابیس هست و روی خیلی از دیتابیس ها جواب میده.
SQL زبانی که توسط بیشتر پایگاه داده ها Support میشه و زبانی برای کار
با پایگاه داده ها(Access و SQL Server و Oracle و ...) است و تقریبا هر کاری
میشه با پایگاه داده باهاش انجام داد مثل : انتخاب ، حذف ، ویرایش ، Backup و ....
برای اجرای دستورات SQL لازم نیست چیزی نصب بشه و برای استفاده ازش
کافیه که یاد گرفت ازش استفاده کرد.:20:
موفق باشید. خداحافظ
چطور دنبال یک رکورد در یک فیلد خواص بگردیم؟
سلام
برای اینکار دو راه وجود داره. اولی Locate هست و بعدی هم Filter
اولي ( Locate ) برای جستجو در بانک اطلاعاتی به کار می ره ...
دومی ( Filter ) برای نمایش رکوردهای خاصی در جدول به کار می رود ...
به یک نکته توجه داشته باشید که Locate فقط رکورد اول رو پیدا میکنه.
اما فیلتر قابلیت پیدا کردن چند رکورد رو داره و میتونید با دستور های خاصی
به رکورد های بعدی که پیدا کرده برید ...
اول فرمان Locate :
کد:
TAdoDataset1.Locate('Esme Field','kalamate kelidi ke search kone',[]);
حالا هم فرمان Filter
کد:
TAdoDataset1.Filtered := True;
TAdoDataset1.Filter := 'esme field'''+'kalamate kelidi ke mikhahi search koni''';
این هم برای فیلتر کردن بر اثاث نوشته های یک Edit.
کد:
TAdoDataset1.Filtered := True;
TAdoDataset1.Filter:= 'esme field='''+Edit1.Text+'''';
اگر چیزی یادم رفته با پیغام خصوصی بهم اطلاع بدید.:19:
موفق و سربلند باشید. :46:
چطور در لیست فیلتر شده حرکت کنیم؟
سلام
خوب دستور فیلتر رو یاد گرفتید. اما سوال اینه که وقتی
یک کلمه رو فیلتر کردیم و لیستی از رکورد ها انتخاب شد چطور در اون لیست حرکت کنیم؟
با این کدها میشه در لیست فیتلر شده حرکت کنید.
بعدی
کد:
AdoDataSet1.FindNext;
قبلی
کد:
AdoDataSet1.FindPrior;
اولی
کد:
AdoDataSet1.FindFirst;
آخری
کد:
AdoDataSet1.FindLast;
موفق باشید . بای
چطوری به یه رکورد جهش پیدا کنیم؟
سلام
خوب سوال خیلی ها هست که چطوری به یه رکورد جهش پیدا کنیم ؟
چند راه هست. که کد رو همراه توضیح نوشتم.:31:
رفتن به رکورد بعدی
رفتن به رکورد قبلی
رفتن به رکورد اول
رفتن به رکورد آخر
رفتن به تعداد دلخواه بعد
کد:
AdoDataSet1.MoveBy(تعداد);
توجه : برای رفتن به تعداد دلخواه قبل باید قبل از تعداد منفی "-" بزارید. این هم کد
رفتن به تعداد دلخواه قبل
کد:
AdoDataSet1.MoveBy(-تعداد);
فقط به جای "تعداد" عددی بزارید که قبل و بعد برید.:27:
همه این دستور ها برای جهش به رکورد در دیتابیس هستند و ربطی به لیست فیلتر هم نداره.
موفق باشید. خداحافظ:10:
Eof و Bof چی هستند؟ چطور جلوگیری کنیم؟
سلام
این هم چندمین پرسش و پاسخ امشب :18:
چرا وقتی رکورد اولی هستیم و دستور میدیم به رکورد قبلی بریم خطای BOF را میگیره ؟
و همچنین آخر باشیم و دستور رکورد بعدی رو بدیم خطای EOF را میگیره؟
خوب BOF مخفف Begin Of File هست ، یعنی در اول هستیم و قبلی وجود نداره
و همچنین EOF هم مخفف End of File هست و در آخر فایل دیتابیس قرار داریم و بعدی وجود نداره
توضیحات کامل تر و بیشتر رو از زبان دوستمان بشنویم.:46:
نقل قول:
سلام
EOF و BOF چیه؟
BOF یا (Begin Of File) اشاره گری که قبل از اولین رکورد قرار
می گیره و EOF یا (End Of File) اشاره گری که بعد از آخرین رکورد قرار
می گیره
یه مثال(رنگ آبی رکورد فعال)
BOF
رکورد 1
رکورد 2
رکورد 3
EOF
Table.First
BOF
رکورد 1
رکورد 2
رکورد 3
EOF
Table.Next
BOF
رکورد 1
رکورد 2
رکورد 3
EOF
Table.Next
BOF
رکورد 1
رکورد 2
رکورد 3
EOF
(اطلاعات رکورد 3 رو می ده)
Table.Next
BOF
رکورد 1
رکورد 2
رکورد 3
EOF
روي EOF قرار داره یعنی اطلاعات فایل به آخر
رسیده حالا اگه از FieldByNAme یا FieldValue
استفاده کنی پیغام خطا می ده
در مورد BOF هم دقیقا همین جوریه
چطور میتونیم از این خطاها جلوگیری کنیم؟
قبل از اینکه دستور قبل و بعد رو بدید اول Eof یا Bof را بررسی کنید
بستگی به حرکت داره که کدوم رو بررسی کنید. کد بررسی رو زیر گذاشتم.
یک نمونه برای بررسی Bof
کد:
if ADODataSet1.Bof = False then
این هم یک نمونه از بررسی Eof
کد:
if ADODataSet1.Eof = False then
یادتون نره بعد از بررسی باید دستور حرکت رو صادر کنید! (انگاری فرمانده لشکر شدید:21: )
موفق باشید. خداحافظ