C#如何获取SQLSERVER的字段的长度?

RT,求指导!比如说在数据库里面建立了表A里面有个字段是B,它的类型是varchar(255),求指点如何获取这个255呢?... RT,求指导!比如说在数据库里面建立了表A里面有个字段是B,它的类型是varchar(255),求指点如何获取这个255呢? 展开
 我来答
Ps脸粉粉
2013-02-28 · TA获得超过1563个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:115万
展开全部
楼主你好:

你可以使用下面这个语句查询出你想要表的字段类型、长度等信息。

Column_name是你的表字段信息,
Type_name是你该字段的数据类型,
Type_length是该数据类型的默认长度,
Column_lengh是该数据类型的实际长度,这个字段的值就是你想要的数据

SELECT dbo.sysobjects.name as Table_name,
dbo.syscolumns.name as Column_name,
dbo.systypes.name as Type_name,
dbo.systypes.length as Type_length,
columnproperty(dbo.syscolumns.id,dbo.syscolumns.name,'precision') as Column_lengh
from dbo.syscolumns inner join dbo.sysobjects
on dbo.syscolumns.id = dbo.sysobjects.id
left join dbo.systypes
on dbo.syscolumns.xtype = dbo.systypes.xusertypewhere dbo.sysobjects.name = '你的表名'
and AND dbo.syscolumns.name='你想查询的字段名称'

你在C#中执行这个语句,传入你想要的条件,得到的结果就是你想要的东西,
或者使用SELECT name,length FROM SYSCOLUMNS WHERE ID=OBJECT_ID('表名' ) where name='字段名'
希望对你有帮主,望采纳:)谢谢
追问
你前面那截代码太长 ,后面的SELECT name,length FROM SYSCOLUMNS WHERE ID=OBJECT_ID('表名' ) where name='字段名'这一句说是where附近有语法错误,还有,貌似我的那个表有个字段的名字就叫做name
syht2000
高粉答主

2013-02-28 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
方法很多,比如说SELECT * FROM SYSCOLUMNS WHERE ID=OBJECT_ID('A' ) where name='B'
或者用C#的GetOleDbSchemaTable,其它方法参照http://hi.baidu.com/foolsync/item/cd30e5e82c6c5b3786d9deef
更多追问追答
追问
可以具体说说C#的方法吗?比如你说的GetOleDbSchemaTable
追答
看上面的地址,有详细代码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式