不用data controls如何获取表的信息?(50分)

  • 主题发起人 主题发起人 lvzhijong
  • 开始时间 开始时间
L

lvzhijong

Unregistered / Unconfirmed
GUEST, unregistred user!
想获取服务器上表的信息
而不用data controls
如获取某字段(关键字段)的所有数据显示在普通的combobox里
根据此时combobox的值又可得到同一纪录的另一字段的数据
不知如何实现,请大家指教
 
将某一字段数据显示在combobox里:

ListQue.close;
ListQue.sql.clear;
ListQue.sql.add('select field1,field2 from table1');
ListQue.open;
ListQue.Open;
while not ListQue.Eof do
begin
Part_List.Items.add(ListQue.FieldByName('Field1').asstring);
ListQue.Next;
end;

根据此时combobox的值将同一纪录的另一字段的数据显示到Edit里:

if ListQue.Locate('field1',Part_List.text,[loCaseInsensitive]) = true then
edit.Text := ListQue.FieldByName('field2').asstring;
 
在USES单元中加入 DBTables;

用对象实现:
session.GetAliasNames(放置位置);
session.GetTableNames(数据库别名,'*.*',false,false,放置位置);
session.GetStoredProcNames(数据库别名,放置位置);
例如:
form中包含IMAGELIST。
procedure Tfrm_sqlexplore.FormShow(Sender: TObject);
var
list:Tstringlist;
node0,node1,node2:Ttreenode;
i:integer;
begin
//tv1:Ttreeview
tv1.Items.BeginUpdate;
tv1.Items.clear;
tv1.items.EndUpdate;
list:=Tstringlist.create();
session.GetAliasNames(list);
node0:=tv1.Items.AddChild(nil,'数据库结构');
node0.Data:=pointer(-1);
node0.ImageIndex:=2;
for i:=0 to list.Count-1 do
begin
node1:=tv1.Items.AddChild(node0,list);
node1.Data:=pointer(i);
node1.ImageIndex:=1;
end;
list.Destroy;
end;
如不明白请发EMAIL:ice.yang@263.net
 
多人接受答案了。
 
后退
顶部