PDA

View Full Version : مشکل در AdoQuery



حمید محمودی
یک شنبه 25 بهمن 1388, 01:37 صبح
با سلام


یه مشکلی تو قسمت دیتابیس با ADO داشتم. قضیه از این قراره که وقتی میخام با adoquery رکورد ها رو جستجو بکنم کدش کار نمیکنه؟؟؟ Active هم برابر true هست . کد مشکل داره یا نه؟ اگه نداره پس چرا کار نمیکنه؟




ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * From Table1 WHERE fName LIKE ' + QuotedStr(edit1.Text + '%' );
ADOQuery1.open;
متشکرم

حمیدرضاصادقیان
یک شنبه 25 بهمن 1388, 07:57 صبح
سلام.به این شکل بنویسید ببینید مشکل حل میشه؟


ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * From Table1 WHERE fName LIKE :nm';
Adoquery1.parameters.parambyname('nm').value:='%'+ edit1.Text+'%' ;
ADOQuery1.open;

Hadi_Fayyaz
یک شنبه 25 بهمن 1388, 08:06 صبح
با سلام


یه مشکلی تو قسمت دیتابیس با ADO داشتم. قضیه از این قراره که وقتی میخام با adoquery رکورد ها رو جستجو بکنم کدش کار نمیکنه؟؟؟ Active هم برابر true هست . کد مشکل داره یا نه؟ اگه نداره پس چرا کار نمیکنه؟




ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * From Table1 WHERE fName LIKE ' + QuotedStr(edit1.Text + '%' );
ADOQuery1.open;
متشکرم

سلام دوست عزیز
کد شما مشکلی نداره فقط کافیه به جای Edit1.Text بنویسی
Trim(Edit1.Text)اما اگه من به جای شما باشم کدم رو به شکل زیر مینویسم


ADOQuery1.Close;
With ADoQuery1.SQL Do
Begin
Clear;
Add('Select *');
Add('From Table1');
Add('Where FName Like :p');
End;
ADOQuery1.Parameters[0].Value:=Trim(Edit1.Text)+'%';
ADOQuery1.Open;
این کد رو من امتحان کردم هیچ مشکلی نداره.
موفق باشید.

pezhvakco
یک شنبه 25 بهمن 1388, 08:51 صبح
درود :
کد شما مشکل نوشتاری نداره .
منظورت از این که میگی کار نمیکنه چیه ؟
فقط احتمالا اگه مقدار edit خالی باشه خطا بده .
active را نمی خواد True کنی، چون دستوری داخلش نیست خطا میده و همون open & Close درسته .

حمید محمودی
یک شنبه 25 بهمن 1388, 17:51 عصر
سلام

از همه متشکر بابت پاسخی که دادن. اما مشکلم حل نشد. من یه مثال ساده تو برنامه ای که پیوست کردم ، گزاشتم. این مثال دو تا فیلد هست name,fname . چند تا مقدار هم من خودم بهش اد کردم. مثلا وقتی کلمه hamid رو برای fname سرچ کنیم بایستی چند تا خروجی داشته باشیم . این کد ها کار نمیکنه؟؟!!!
دوستان ببینین برنامه مشکل داره یانه؟

متشکرم.

Hadi_Fayyaz
یک شنبه 25 بهمن 1388, 21:41 عصر
سلام دوست عزیز
مشکل شما اینه که نتیجه ای که در DBGrid نمایش داده میشه از ADOTable هست نه از ADOQuery در هر صورت من اصلاحات لازم رو انجام دادم اون ADOTable هم دیگه نیاز نیست
برنامه اصلاح شده رو آپلود میکنم
در ضمن هم كد خودت و هم كدهايي كه بقيه دوستان نوشتند همه درسته
موفق باشید