如何获得数据库中某个表的字段名以及对应的数据类型??
如何获得数据库中某个表的字段名以及对应的数据类型??
如一个表为tbl_name:[Id int ;name char]
我怎样才能获得:[Id int ;name char]
高手见笑了,知道的简要说一下,有关键代码就最好了!!
问题点数:20、回复次数:3Top
1 楼ClearLake()回复于 2005-05-09 18:07:43 得分 5
OleDbConnection.GetOleDbSchemaTableTop
2 楼zhzuo(秋枫)回复于 2005-05-10 15:14:31 得分 5
http://blog.csdn.net/zhzuo/archive/2004/07/03/33273.aspx
Top
3 楼morou_007(默柔)回复于 2005-05-10 16:11:01 得分 10
数据库显示表,字段等详细描述
IPropertyNotifySink
SqlCommand mys=sqlcon.CreateCommand();
mys.CommandText=" SELECT 表名 = CASE WHEN a.colorder = 1 THEN d .name ELSE '' END, "+
" 表说明 = CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END, "+
" 字段序号 = a.colorder, 字段名 = a.name, "+
" 标识 = CASE WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') "+
" = 1 THEN '√' ELSE '' END, 主键 = CASE WHEN EXISTS"+
" (SELECT 1"+
" FROM sysobjects"+
" WHERE xtype = 'PK' AND name IN"+
" (SELECT name"+
" FROM sysindexes"+
" WHERE indid IN"+
" (SELECT indid"+
" FROM sysindexkeys"+
" WHERE id = a.id AND colid = a.colid))) THEN '√' ELSE '' END, "+
" 类型 = b.name, 占用字节数 = a.length, 长度 = COLUMNPROPERTY(a.id, a.name, "+
" 'PRECISION'), 小数位数 = isnull(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0), "+
" 允许空 = CASE WHEN a.isnullable = 1 THEN '√' ELSE '' END, 默认值 = isnull(e.text, "+
" ''), 字段描述 = isnull(g.[value], '')"+
" FROM syscolumns a LEFT JOIN"+
" systypes b ON a.xtype = b.xusertype INNER JOIN"+
" sysobjects d ON a.id = d .id AND d .xtype = 'U' AND d .name <> 'dtproperties' LEFT "+
" JOIN"+
" syscomments e ON a.cdefault = e.id LEFT JOIN"+
" sysproperties g ON a.id = g.id AND a.colid = g.smallid LEFT JOIN"+
" sysproperties f ON d .id = f.id AND f.smallid = 0"+
" WHERE d .name = '"+cbo1.Text+"'"+
" ORDER BY a.id, a.colorder";
SqlDataReader myRead1=mys.ExecuteReader();
txt1.Text="";
while(myRead1.Read())
{
txt1.Text=txt1.Text + //myRead1.GetSqlString(0).ToString()+
// myRead1.GetSqlString(1).ToString()+
formatstr(myRead1.GetSqlValue (2).ToString(),10)+
formatstr(myRead1.GetSqlString(3).ToString(),25)+
// myRead1.GetSqlString(4).ToString()+
// myRead1.GetSqlString(5).ToString()+
formatstr(myRead1.GetSqlString(6).ToString(),18)+
// myRead1.GetSqlString(7).ToString()+
formatstr(myRead1.GetSqlValue(8).ToString(),10)+
// myRead1.GetSqlString(9).ToString()+
// myRead1.GetSqlString(10).ToString()+
// myRead1.GetSqlString(11).ToString()+
myRead1.GetSqlString(12).ToString()+System.Environment.NewLine;
}
myRead1.Close();
Top
相关问题
- 如何读取数据库中表的字段名,大小,类型呢?
- 如何读取数据库中表的字段名,大小,类型呢?
- 请教:asp中怎样获得数据库中和表名及各个表的字段名及类型!{:)
- 提取ACCESS2000数据库的结构(包括表名、字段名、字段类型、字段长度、*说明)
- 求助:急-如何更改SQL SERVER2000里数据库里表的字段名称及数据类型
- 请教:oracle数据库的表信息(字段名,字段类型)存在哪里
- 高分求!!!ado+vc++6.0 如何获得数据库(access sql server等)中表的字段名 字段类型等
- SQL数据库中设计表字段名用中文可好?
- 如何提取数据库中表的字段名
- 能不能直接读取数据库表中的字段名?




