نقل قول: مشکل در AdoQuery
سلام.به این شکل بنویسید ببینید مشکل حل میشه؟
ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * From Table1 WHERE fName LIKE :nm';
Adoquery1.parameters.parambyname('nm').value:='%'+ edit1.Text+'%' ;
ADOQuery1.open;
نقل قول: مشکل در AdoQuery
نقل قول:
نوشته شده توسط
dcamera
با سلام
یه مشکلی تو قسمت دیتابیس با 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;
این کد رو من امتحان کردم هیچ مشکلی نداره.
موفق باشید.
نقل قول: مشکل در AdoQuery
درود :
کد شما مشکل نوشتاری نداره .
منظورت از این که میگی کار نمیکنه چیه ؟
فقط احتمالا اگه مقدار edit خالی باشه خطا بده .
active را نمی خواد True کنی، چون دستوری داخلش نیست خطا میده و همون open & Close درسته .
1 ضمیمه
نقل قول: مشکل در AdoQuery
سلام
از همه متشکر بابت پاسخی که دادن. اما مشکلم حل نشد. من یه مثال ساده تو برنامه ای که پیوست کردم ، گزاشتم. این مثال دو تا فیلد هست name,fname . چند تا مقدار هم من خودم بهش اد کردم. مثلا وقتی کلمه hamid رو برای fname سرچ کنیم بایستی چند تا خروجی داشته باشیم . این کد ها کار نمیکنه؟؟!!!
دوستان ببینین برنامه مشکل داره یانه؟
متشکرم.
1 ضمیمه
نقل قول: مشکل در AdoQuery
سلام دوست عزیز
مشکل شما اینه که نتیجه ای که در DBGrid نمایش داده میشه از ADOTable هست نه از ADOQuery در هر صورت من اصلاحات لازم رو انجام دادم اون ADOTable هم دیگه نیاز نیست
برنامه اصلاح شده رو آپلود میکنم
در ضمن هم كد خودت و هم كدهايي كه بقيه دوستان نوشتند همه درسته
موفق باشید