请问如何实现这种效果,在combobox中列出使用数据库中的所有table,然后在改变之后,自动的将dbgrid的内容连接到新的table上(30分)

  • 主题发起人 主题发起人 四界辰砂
  • 开始时间 开始时间

四界辰砂

Unregistered / Unconfirmed
GUEST, unregistred user!
在帮助中
tdatabase有这样的一个方法
把所有表名存入一个tlist里
你把它asign到combobox里就行了,
comboboxonchange
begin
table.tablename:=trim(combobox.text);
//可能要刷新一下dbgrid
end;
 
如果是sqlserver,很容易的,

with self.ADOQuery1 do
begin
active:=false;
sql.text:='select name from sysobjects where type='''+'u''';
active:=true;
combobox2.Clear;
first;
while not eof do
begin
combobox2.Items.Add(fields[0].asstring);
next;
end;
active:=false;
combobox2.ItemIndex:=0;
end;
可以获得所有表名,如何让dbgrid显示就不用说了吧
 
Session.GetTableNames(DatabaseName,'',true,false,combox.Items);
 
同意myname,
这样就得到了所有的表明
然后在根据表明设计相应的table 的sql语句 就行了
 
同意dgbsnake,session很有用的,呵呵
 
用ADO,可以方便地查询出数据库的表名。
TADOConnection
procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);
加到COMBO中,下面的处理不用说了吧?

 
多谢!!
 
以后还请多多关照
 
后退
顶部