ورود

View Full Version : سوال: دسترسی به رکوردهای AdoQuery



miss a.m
پنج شنبه 30 خرداد 1387, 17:51 عصر
سلام
من در برنامم می خوام به رکورد های ADOQuery دسترسی پیدا کنم تا اونا رو به Item های یک Combobox اضافه کنم. مشکل در دسترسی به رکوردهای ADOQuery دارم .ADOQuery.sql = select name from table1 است . ممنون میشم یک دنیا که راهنمایی ام کنین.

حمیدرضاصادقیان
پنج شنبه 30 خرداد 1387, 18:22 عصر
سلام.این کدی که نوشتید اگر واقعای اینجوری باشه که خیلی اشتباه است.
برای خواندن رکورد از دیتابیس شما میتونی از ساختار زیر استفاده کنی.


With ADoquery1 do
begin
sql.clear;
sql.add('select name from table1');
open;
End;

حالا برای خواندن رکوردی که برگردونده و قرار دادن مقدار اون در یک combobox میتونی از کد زیر استفاده کنی.


if Adoquery1.recordcount>0 then
While not(adoquery1.eof) do
begin
combobox1.items.add(adoquery1.fieldbyname('name'). asstring;
adoquery1.next;
End;

delphiprog3000
پنج شنبه 30 خرداد 1387, 18:34 عصر
سلام
من در برنامم می خوام به رکورد های ADOQuery دسترسی پیدا کنم تا اونا رو به Item های یک Combobox اضافه کنم. مشکل در دسترسی به رکوردهای ADOQuery دارم .ADOQuery.sql = select name from table1 است . ممنون میشم یک دنیا که راهنمایی ام کنین.


در ادامه صحبت صادقیان عزیز. روشی که دوست ما میخواد به این حالت نیز هست.



with Adoquery1 do
begin
close;
sql.text:='select * from table1';
open;
end;
بقیه کدها مثل همان کدی که آقای صادقیان گذاشتند.

موفق باشید.................

miss a.m
دوشنبه 03 تیر 1387, 00:17 صبح
از شما دوست عزیز سپاسگزارم.
در کار با Query مشکلی نداشتم و کدی مربوطه رو فقط برای مثال نوشتم. اما در اضافه کردن خروجی query به combobox از کمک شما واقعا ممنونم. برنامه ام حالا به درستی کار میکنه.

اصغر (پآچ)
دوشنبه 03 تیر 1387, 01:18 صبح
سلام.این کدی که نوشتید اگر واقعای اینجوری باشه که خیلی اشتباه است.
برای خواندن رکورد از دیتابیس شما میتونی از ساختار زیر استفاده کنی.


With ADoquery1 do
begin
sql.clear;
sql.add('select name from table1');
open;
End;

حالا برای خواندن رکوردی که برگردونده و قرار دادن مقدار اون در یک combobox میتونی از کد زیر استفاده کنی.


if Adoquery1.recordcount>0 then // خط مورد نظرم!
While not(adoquery1.eof) do
begin
combobox1.items.add(adoquery1.fieldbyname('name'). asstring;
adoquery1.next;
End;


سلام دوست من

ببین فکر نمی کنی که اون خطی که قرمزش کردم اضافیه؟ چون خط زیریش دقیقاً داره همون مقدار بالا رو چک میکنه و این دستور اضافی به نظر میرسه

یکم دقت کن ببین اینجوریا نیست! البته می بخشیا.

موفق و موید باشی!

حمیدرضاصادقیان
دوشنبه 03 تیر 1387, 07:25 صبح
سلام.حرفتون درسته.دیگه مشغولیات و اشتباه و...