PDA

View Full Version : سوال: چگونه ليست فيلدهاي بانك را در يك ComboBox نشان دهم؟



ali_abbasi22145
چهارشنبه 01 خرداد 1387, 11:39 صبح
سلام

چگونه ليست فيلدهاي بانك SQL Server 2000 را كه با ADO دلفي 7 وصل شده ام ، در يك ComboBox نشان دهم؟

delphiprog3000
چهارشنبه 01 خرداد 1387, 11:52 صبح
سلام دوست عزیز. جناب Syndrome این مسئله رو حل کرده بود ولی متاسفانه تاپیکش رو پیدا نکردم.

این کد رو در OnCreate فرمتان بنویسید.



with ADOQuery1 do
begin
sql.Text:='select * from table1 ;
open;
first;
while not Eof do
begin
ComboBox1.Items.Add(FieldByName('name').AsString); ======> در این قسمت اسم فیلدهای مورد نظر را بنویسید
next;
end;
end;


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

Mah6447
چهارشنبه 01 خرداد 1387, 11:57 صبح
ComboBox1.Items.Assign(ADOTable1.FieldDefList);

اصغر (پآچ)
چهارشنبه 01 خرداد 1387, 12:51 عصر
برای اینکه بفهمی کدوم فیلد هم انتخاب شده می تونی از این دستور استفاده کنی:



Edit1.Text := Combobox1.Item[Combobox1.ItemIndex]

ali_abbasi22145
چهارشنبه 01 خرداد 1387, 12:59 عصر
ComboBox1.Items.Assign(ADOTable1.FieldDefList);

مرسي دوست من كد جالبي بود ، اما اگر بخواهيم همه فيلدها به غير فيلدهاي "id" , "Title" را در ComboBox بيايد كدش چگونه مي شود؟

Mah6447
چهارشنبه 01 خرداد 1387, 13:12 عصر
، اما اگر بخواهيم همه فيلدها به غير فيلدهاي "id" , "Title" را در ComboBox بيايد كدش چگونه مي شود؟

ابتدا روی AdoTable دابل کلیک کرده , فیلدهایی را که می خواهید به لیست اضافه و سپس از کد زیر استفاده نمایید .

ComboBox1.Items.Assign(ADOTable1.FieldList);

ali_abbasi22145
چهارشنبه 01 خرداد 1387, 13:42 عصر
ابتدا روی AdoTable دابل کلیک کرده , فیلدهایی را که می خواهید به لیست اضافه و سپس از کد زیر استفاده نمایید .

ComboBox1.Items.Assign(ADOTable1.FieldList);

سلام
من كل فیلدهایی بانك را در برنامه مي خواهم نمي توانم كمش كنم.
حال در ComboBox مي خواهم كل فيلدها به غير از id,title باشند ، پس روش شما جواب نمي دهد.
من فكر مي كنم با تغيير كد:( ComboBox1.Items.Assign(ADOTable1.FieldList) مي توان مشكلم را حل كرد.

Mah6447
چهارشنبه 01 خرداد 1387, 13:54 عصر
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for I := 0 to ADOTable1.FieldDefList.Count - 1 do
begin
If (ADOTable1.FieldDefList.Strings[i]<>'id') and
(ADOTable1.FieldDefList.Strings[i]<>'Title') Then
ComboBox1.Items.Add(ADOTable1.FieldDefList.Strings[i]);
end;
end;

Mah6447
چهارشنبه 01 خرداد 1387, 14:37 عصر
چرا از DBComboBox یا DBLookupComboBox استفاده نمی کنی؟!!

منظور دوستمان نام فیلهای جداول می باشد نه اطلاعات داخل آنها

ali_abbasi22145
چهارشنبه 01 خرداد 1387, 15:51 عصر
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for I := 0 to ADOTable1.FieldDefList.Count - 1 do
begin
If (ADOTable1.FieldDefList.Strings[i]<>'id') and
(ADOTable1.FieldDefList.Strings[i]<>'Title') Then
ComboBox1.Items.Add(ADOTable1.FieldDefList.Strings[i]);
end;
end;


سلام
بي نهايت متشكر دوست عزيز مشكل حل شد!