View Full Version : selectاز متغیر
lena abbaszadeh
سه شنبه 25 خرداد 1389, 11:55 صبح
سلام
من میخوام از یه tableکوئری بگیرم ولی اسم filedیه متغیره
مثلا select x from table1
که x از طریق کاربر توی یک edit نوشته میشه که یکی ازfeild های table1هستش
چه باید کرد؟؟؟:ناراحت:
pezhvakco
سه شنبه 25 خرداد 1389, 13:02 عصر
درود :
اینو امتحان کن :
try
DataSet1.Close;
DataSet1.CommandText:=' SELECT ' + Edit1.Text + ' FROM TableK ';
DataSet1.Open;
except on E: Exception do
end;
lena abbaszadeh
سه شنبه 25 خرداد 1389, 13:11 عصر
مرسی
ولی به غیر ازadodatasetاز چی میشه استفاده کرد؟
من ازadoquery,adotableاستفاده میکنم
راستش کار با adodatasetرو بلد نیستم خوب:خجالت:
میشه راهنماییم کنین؟
masood samadi
سه شنبه 25 خرداد 1389, 14:02 عصر
سلام
AdoDatasetهم مانند همان AdoQuery,AdoTableاست آن را به دیتابیس وصل می کنی سپس برای مشخص کردن اینکه چه جدول و یا چه فیلدهایی نمایش داده شود بایستی در خاصیت CommandTextآن مشخص شود.
برای استفاده از آن در کد نویسی بایستی ابتدا آن راCloseکنی سپس هر دستوری که می خواهی درون
CommandTextآن می نویسی سپس آن را Open می کنی
lena abbaszadeh
سه شنبه 25 خرداد 1389, 15:08 عصر
مرسی
ولی من اینو میدونم
منظورم این بود که تو Adoqueryچی باید بنویسم؟؟؟
کوئری من این بود
'select' + a1 +' form table1
که قبلش
a1 := edit1.text;
این کد اشکالش کجاست؟؟؟؟؟
lena abbaszadeh
سه شنبه 25 خرداد 1389, 15:11 عصر
خروجی که کوئری بالا به من میده متن edit1هست بین دو تا%:ناراحت:
masood samadi
سه شنبه 25 خرداد 1389, 15:48 عصر
Var A1:String
Begin
A1:=Edit1.text
AdoQuery1.sql.text:='Select '+A1+' From Table
Adoquery1.close
Adoquery.open
توجه داشته باش که بعد از selectوقبل از Form یعنی بین دو' 'حتما یک فاصله قرار دهید ار نه برنامه شما جواب نمی دهد
lena abbaszadeh
چهارشنبه 26 خرداد 1389, 14:33 عصر
ارور میده
این کوئری اجرا نمی شه:عصبانی++:
lena abbaszadeh
چهارشنبه 26 خرداد 1389, 14:38 عصر
میشه یکی کمک کنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
واقعا این کار نشدنیه که کاربر روی فیلدselectتاثیر بذاره؟؟؟؟؟؟
lena abbaszadeh
چهارشنبه 26 خرداد 1389, 15:21 عصر
آقا حل شد:لبخند::لبخند::لبخند::لبخن ::لبخند::لبخند::لبخند::لبخند: :لبخند::لبخند::لبخند::لبخند:: شویق::تشویق::تشویق::تشویق::ت ویق::تشویق::تشویق::تشویق::تش یق::تشویق::تشویق::تشویق:
SAASTN
چهارشنبه 26 خرداد 1389, 20:11 عصر
بجای
AdoQuery1.sql.text:='Select '+A1+' From Table
از کد زیر هم می تونید استفاده کنید:
AdoQuery1.SQL.Text := Format('Select %s From Table', [A1]);
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.