CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

如何获得数据库中某个表的字段名以及对应的数据类型??

楼主lulei(中子能)2005-05-09 17:45:45 在 .NET技术 / C# 提问

如何获得数据库中某个表的字段名以及对应的数据类型??  
  如一个表为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数据库中设计表字段名用中文可好?
  • 如何提取数据库中表的字段名
  • 能不能直接读取数据库表中的字段名?

关键词

  • 数据库
  • myread1
  • getsqlstring
  • 字段名
  • 表
  • formatstr
  • colorder
  • tostring
  • 类型
  • columnproperty

得分解答快速导航

  • 帖主:lulei
  • ClearLake
  • zhzuo
  • morou_007

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo