ورود

View Full Version : برگرداندن مقدار یک فیلد توسط یک Query



am_sanatiz
یک شنبه 21 بهمن 1386, 14:59 عصر
سلام

من در یک ADOQueryاین چنین دستوری نوشتم

Select ID from JADVAL where ………
می خواهم ID که مقداری منحصر به فرد است را به من بدهد.در برنامه نیز یک متغیر code از نوع integer تعریف کردم ونوشتم

Code := ADOQuery1.ExecSQL

می خواهم اگر فردی با این مشخصات وجود ندارد code مقدار صفر را بگیرد و اگر شخص وجود دارد مقدار ID آن برگردد ، اما اگر فرد نباشد مقدار صفر را برمی گرداند ولی در صورت بودن هر شخصی مقدار منهای یک در code قرار می گیرد.
بنابراین چطور می توان به جواب یک Query دست یافت و کد این عمل چیست؟

حمیدرضاصادقیان
یک شنبه 21 بهمن 1386, 15:22 عصر
این کد اشتباه است. شما باید دستور زیر را بنویسید.



with adoquery1 do
begin
sql.clear;
sql.add('select id form jadval where name='ali'');
open;
if recordcount>0 then
code:=fieldvalues['id']
else
cose:=0;
End;

execsql رو برای این بکار می برند که میخواهند دستوراتی رو که روی جدول تغییر میدهند به کار میبرند.یعنی وقتی شما از دستورات update,delete,insert استفاده میکنی باید از execsql استفاده کنی در غیر اینصورت وقتی میخوای از select استفاده کنی باید از open استفاده کنی.