PDA

View Full Version : اجرا نشدن دستورات sql



eilia_43
چهارشنبه 24 اسفند 1384, 16:01 عصر
من روی فرمم یه adoconnection ,adoquery, datasource, dbgrid قرار دادم و adoconnection رو به بانکم وصل کردم وخاصیت connection adoquery را به adoconnection وصل کردم یعنی
Adoqyery1.connection := adoconnection;
adoquery1.DataSource := datasource1;
بعد datasource را به adoquery وصل کردم و dbgrid را به datasource وصل کردم
سپس روی فرم دابل کلیک کردم ودستورات زیز رو نوشتم
adoquery1.Prepared := true;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from phone where code="0111" ');
adoquery1.Open;
و بعد برنامه رو اجرا کردم اما این خطا رو داد:
Invalid column name '0111'
وdbgrid هم چیزی نشون نمیده اما وقتی دستور sql بالا رو در قسمت SQL، object inspector می نویسم خطای بالا رو نمیده و dbgrid هم اون چیزی رو که می خوام نشون میده
مشکل کجاست؟
لطفا کمک کنید
خیلی ممنون.

vcldeveloper
پنج شنبه 25 اسفند 1384, 07:48 صبح
خاصیت DataSource از AdoQuery را مقدار دهی نکنید، این خاصیت برای جداول Master/Details بکار میره و در مورد سوال شما فقط تنظیم خاصیت DataSet از DataSource1 کافی هست.

eilia_43
جمعه 26 اسفند 1384, 17:03 عصر
with ADOQuery1 do begin
with SQL do begin
Clear;
Add('SELECT * from phone where name = "mohammad"');
end;
Open;
end;

چرا میگه ستونی به نام محمد وجود ندارد؟
مگه معنی دستور بالا این نیست که "انتخاب کن رکوردهایی از جدول phone را که محتوی فیلد name ، رشته "محمد" باشد."

در ضمن آقای کشاورز من کاری رو که گفته بودین انجام دادم اما باز هم همین خطا رو میده.
خواهش می کنم کمک کنید.

mzjahromi
جمعه 26 اسفند 1384, 17:13 عصر
اگر SQL شما دقیقا همینه که اینجا نوشتی بجای اینکه دوتا ' بذارید یک " گذاشتید.
اینطوری بنویسید


with ADOQuery1 do begin
with SQL do begin
Clear;
Add('SELECT * from phone where name = '+QuotedStr('Mohammad'));
end;
Open;
end;