View Full Version : دستورات sql در دلفی
ahmad sajjad
پنج شنبه 28 مهر 1384, 12:51 عصر
من از دستورات sql در sql server استفاده میکنم و جواب میگیرم ولی هنگامی که بااستفاده از ADOQuery به جواب برسم syntax error میده که عکس این error و ساده ترین دستوری که امکان داره رو که باش امتحان کردم در ادامه مینویسم.
ADOQuery1.Sql.Add('select * from db12 where (name="asad")');ADOQuery1.open
ممنون میشم راهنماییم کنید.
oghab
پنج شنبه 28 مهر 1384, 14:58 عصر
سلام
ببین اون error کخ میدخ را نمیدونم اشکالش از کجاست
ولی دستورت این مشکلو داره و شاید با حل این. اونم درست شه
اول بپرسم db12 اسم table است دیگه؟
شما باید نامی را که می خواهید به فیلدتون نسبت بدبد و از نوع رشته ای است را داخل کوتیشن ' بگذارید نه دابل کوتیشن "
یعنی name='asad' 1
حالا اگه دابل کوتیشن ها را با کوتیشن تغییر بدبد بازم کامپایلر دلفی قاطی میکنه و نمی فهمه رشته کجا شروع میشه کجا تموم میشه.
راهش اینه
یه متغیر مثلا s از نوع string تعریف کنید.
و به این صورت بنویسید
s:='select * from db12 where name=';
s:=s+chr(39)+'asad'+chr(39);
ADOQuery1.Sql.Add(s);
ADOQuery1.open;
39 کد اسکی کوتیشن است
چون کد بالا راست به چچپ میشه و قاطی میشه. کد را تو فایل notepad می نویسم و ضمیمه می کنم
در ضمن ; آخر ADOQuery1.open فراموش نشه
Naficy
جمعه 29 مهر 1384, 06:25 صبح
یه چند کلمه هم از مادر عروس!...:
39 کد اسکی کوتیشن است
یه راه دیگه اینه که اینجوری بنویسین:
'select * from db12 where name=''asad1'''
البته دقت کنید که از دبل کوتیشن استفاده نشده. فقط دوتا کوتیشن پشت سرهم.
چون کد بالا راست به چچپ میشه و قاطی میشه. کد را تو فایل notepad می نویسم و ضمیمه می کنم
از کلید CODE هنگام نوشتن پستتون در این فوروم کمک بگیرید تا راست به چپ نشه.
با عرض پوزش و احترام.
m-khorsandi
شنبه 30 مهر 1384, 08:09 صبح
درود
شما میتونید از این دستور استفاده کنید:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * From db12 Where name = ' + QuotedStr('Navid'));
ADOQuery1.Open;
از کلید CODE هنگام نوشتن پستتون در این فوروم کمک بگیرید تا راست به چپ نشه.
شما هم میبایست از تگ CODE برای نوشتن کدتون استفاده کنید.
Naficy
دوشنبه 02 آبان 1384, 05:14 صبح
شما هم میبایست از تگ CODE برای نوشتن کدتون استفاده کنید.
همونطور که می بینید نوشته من چپ به راسته و نمایشش هم درسته.
پروین88
چهارشنبه 21 دی 1384, 08:28 صبح
سلام
من هم همین کار رو میخوام انجام بدم با این تفاوت که مقدار فیلد فارسیه وخطا میده
adoquery1.sql.text:=
select * from table1 where (vahed like N'+quotedstr('%'+'شهرداری'+'%')+')'
اما خطای زمان اجرا رخ میده.کمک کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.