如何获取SqlServer表中的自增长字段

beingstudio 2010-06-29 07:54:37
使用SqlConnection.GetSchema 可以获取表中的字段名,是否为空,类型等
但是如何获取某个字段是否为自增长这个属性呢?
...全文
291 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujintaozyc 2010-06-30
  • 打赏
  • 举报
回复
ROW_NUMBER() over(order by id desc)
RedFish2010 2010-06-30
  • 打赏
  • 举报
回复
你自动增长的列应该也有字段名吧,查这个不行么
zzyhuian06142 2010-06-30
  • 打赏
  • 举报
回复

Select so.name Table_name,
sc.name Iden_Column_name,
ident_current(so.name) curr_value,
ident_incr(so.name) incr_value,
ident_seed(so.name) seed_value
from sysobjects so
Inner Join syscolumns sc
on so.id = sc.id
and columnproperty(sc.id, sc.name, 'IsIdentity') = 1
Where upper(so.name) = upper('City')


这样可以得到,City换成你的表名
beingstudio 2010-06-30
  • 打赏
  • 举报
回复
你头像比较冠希
小黑哥gs 2010-06-30
  • 打赏
  • 举报
回复
你们俩头像都比较SExy
beingstudio 2010-06-30
  • 打赏
  • 举报
回复
DataTable table = conn.GetSchema("Columns");
返回的table没有这一个列

--------------------------------------------------------------
beingstudio 2010-06-30
  • 打赏
  • 举报
回复
未处理的异常: System.ArgumentException: 列“IsAutoIncrement”不属于表 Columns。

在 System.Data.DataRow.GetDataColumn(String columnName)
在 System.Data.DataRow.get_Item(String columnName)
xray2005 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]

foreach (DataRow row in schemaTable.Rows)
{
Console.WriteLine(row["ColumnName"] + " = " + row["IsAutoIncrement"]);
}
[/Quote]
顶 如梦!
wuyq11 2010-06-29
  • 打赏
  • 举报
回复
foreach (DataRow row in schemaTable.Rows)
{
Console.WriteLine(row["ColumnName"] + " = " + row["IsAutoIncrement"]);
}

110,547

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧