View Full Version : باقی موندن یک رکورد از نتیجه Delete کردن در ِDbisam Table
ali643
جمعه 19 تیر 1383, 17:47 عصر
سلام
من در DbisamTableبا کد زیر فیلد های رو که فیلتر شده اند رو پاک می کنم اما همیشه یکی از این فیلد ها باقی می مونه
جریانش چیه
Fo_HesabKelas.DBISAM_MoreHesabKelas.Filtered:=Fals e;
Fo_HesabKelas.DBISAM_MoreHesabKelas.Filter:='(Radi f='''+Fo_ListKelas.DBISAM_ListKelas.FieldValues['R adif']+''')';
Fo_HesabKelas.DBISAM_MoreHesabKelas.Filtered:=True ;
Fo_HesabKelas.DBISAM_MoreHesabKelas.First;
while not Fo_HesabKelas.DBISAM_MoreHesabKelas.Eof do
begin
Fo_HesabKelas.DBISAM_MoreHesabKelas.Delete;
Fo_HesabKelas.DBISAM_MoreHesabKelas.Next;
end;
مرسی
مهدی کرامتی
جمعه 19 تیر 1383, 18:15 عصر
چرا از دستور Delete بصورت SQL در TDBISAMQuery استفاده نمیکنی؟
moradi_am
جمعه 19 تیر 1383, 18:55 عصر
طبق گفته آقای کرامتی sql بهتر است ولی اگر به همین روش اصرار دارید به آخر کد این سطر را اضافه کنید .
Fo_HesabKelas.DBISAM_MoreHesabKelas.Delete;
ali643
جمعه 19 تیر 1383, 23:47 عصر
طبق گفته آقای کرامتی sql بهتر است ولی اگر به همین روش اصرار دارید به آخر کد این سطر را اضافه کنید .
Fo_HesabKelas.DBISAM_MoreHesabKelas.Delete;
خودم اول همین کارو کردم اما وقتی یک رکورد برا پاک شدن وجود داشته باشه چی؟؟؟
ali643
شنبه 20 تیر 1383, 02:03 صبح
چرا از دستور Delete بصورت SQL در TDBISAMQuery استفاده نمیکنی؟
چون تا حالا زیاد با Query کار نکردم اصلا فلسفه به وجود امدن Query چی هست :متفکر:
برنامه هم نوشته شده دیگه اگه بخوام تغییر بدم مبلغ کل پروژه رو دارم جریمه بدم
:قهقهه:
ali643
شنبه 20 تیر 1383, 04:03 صبح
با این کد هم همشون رو پاک می کنه اما با Filterچی جوری میشه خدا عالمه؟
Fo_HesabKelas.DBISAM_MoreHesabKelas.First;
while not Fo_HesabKelas.DBISAM_MoreHesabKelas.Eof do
begin
if Fo_HesabKelas.DBISAM_MoreHesabKelas.Locate('Radif' ,Fo_ListKelas.DBISAM_ListKelas.FieldValues['Radif' ],[])=True then
Fo_HesabKelas.DBISAM_MoreHesabKelas.Delete;
Fo_HesabKelas.DBISAM_MoreHesabKelas.Next;
end;
moradi_am
شنبه 20 تیر 1383, 08:29 صبح
با query آسانتر است . یک Dbisamquery رو فرم قرار داده و مقدار databaseName آنرا ست کنید و حالا در کد خود دستوری مثل دستور زیر را بنویسید :
DbisamQuery1.SQL.Text:='Delete From Rasidc where number='+Edit4.text;
DbisamQuery1.ExecSQL;
ali643
شنبه 20 تیر 1383, 13:34 عصر
با query آسانتر است . یک Dbisamquery رو فرم قرار داده و مقدار databaseName آنرا ست کنید و حالا در کد خود دستوری مثل دستور زیر را بنویسید :
DbisamQuery1.SQL.Text:='Delete From Rasidc where number='+Edit4.text;
DbisamQuery1.ExecSQL;
مرسی
اما من کار کردن با Sql هاشو می دونم(نه در حد حرفه ای) ولی نمی دونم چرا Query به وجود آمده (فلسفه به وجود آمدن Query)
میشه یه کم در مورد این فلسفه یکی از اساتید توضیح بده
A.VAHID
شنبه 20 تیر 1383, 20:04 عصر
SQL Query زبان استاندارد گزارش گیری از بانکهای اطلاعاتی میباشد که در اکثر بانکها با کمی اختلاف کار میکند از Foxpro تحت داس گرفته که هر خطی که با کلمه Select شروع شود بوده تا Oracle و SQL که خود نیز SQL Bulder نیز دارند و میتوان بدون نیاز به وقت گذاشتن زیاد Query مورد نیاز خود را ساخت
البته سینتکس دستورات در بانکها با هم فرم میکند ولی اساس همگی یکی میباشد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.