请问如何动态得到数据库的表名、字段名及字段的类型、长度?
请问按下面的方法在应用程序的Open中定义,如何动态得到数据库的表名、字段名及字段的类型、长度?如何动态修改表名、字段名及字段的类型、长度?
SQLCA.DBMS="ODBC"
SQLCA.DBParm = "ConnectString='Driver={Microsoft Access Driver (*.mdb)};DBQ=E:\PB\mdb.mdb;User ID=dba;Password=sql'"
connect;
if SQLCA.sqlcode<>0 then
messagebox("database connect error!",sqlca.sqlerrtext,exclamation!)
halt close
end if
connect;
open(w_main)
问题点数:100、回复次数:3Top
1 楼ice2water(冰冻三尺)回复于 2003-02-01 17:04:59 得分 90
如何在程序中得到表结构?
select name,type,length from syscolumns where object_name(id)='table_name'
可是table_name在哪里得到呢
select name from sysobjects where type ='U'
如何在程序中如何自动取得得表的字段名称
先从sysobject表中得到表的id
select id into :id from sysobjects where name = '表名';
再从syscolumns表中得到列的名称
select * from syscolumns where id = :id;
这是SQL server中的方法
select id, colid from syscolumns
where id = (select id from sysobjects where name = 'zm_swjg');
SELECT pbc_tid, pbc_cid, a.pbc_tnam,
a.pbc_cnam,
a.pbc_cid,
a.pbc_hdr,
rtrim(pbc_tnam )+ '.' + rtrim(pbc_cnam),
c.name,'','','',pbc_edit
FROM pbcatcol a, syscolumns b, sbf_y_type c
where pbc_tid = id
and pbc_cid = colid
and b.type = c.type
and a.pbc_tnam = 'sbf_m_gkdm'
and ltrim(a.pbc_hdr) <> ''
order by c.name;
可通过修改pbcatcol表对表的部分属性进行修改。
Top
2 楼SummerHeart(夏夜之怀)回复于 2003-02-01 17:45:22 得分 10
to ice2water(冰冻三尺)
楼主用的Access数据库呀。有syscolumns 这样的系统表吗?
Top
3 楼ldy(罗大佑)回复于 2003-02-03 17:53:11 得分 0
:)Top




