首页 新闻 会员 周边

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Tab_Station_AllInfo' 中的标识列插入显式值。

0
悬赏园豆:5 [已解决问题] 解决于 2012-02-21 11:15

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Tab_Station_AllInfo' 中的标识列插入显式值。

除了用  SET IDENTITY_INSERT dbo.Tab_Station_AllInfo OFF  方法外,还有没有其它方法,最好是操作代码的方法,因为SQL语句已经封装好了。

guosongORxiaosong的主页 guosongORxiaosong | 初学一级 | 园豆:102
提问于:2012-02-21 10:45
< >
分享
最佳答案
0

想往标识列插入数据,只有两个办法:一是取消标识列,二是临时设置为可插入(set identity_insert)

如果你是要经常插入,可能需要考虑一下,这个标识列是不是设置的有问题?如果你需要指定值给这一列,最好不要设置为标识列

收获园豆:5
丁学 | 专家六级 |园豆:18730 | 2012-02-21 11:02
其他回答(3)
0

1. 运行“SET IDENTITY_INSERT Tab_Station_AllInfo ON”(C#/ADO.NET)

2. 运行封装好的SQL

3. 运行“SET IDENTITY_INSERT Tab_Station_AllInfo OFF”(C#/ADO.NET)

dudu | 园豆:30994 (高人七级) | 2012-02-21 11:02
0

标识列由数据库自动维护,组织insert语句时,不要包含标识列。

dboy8454 | 园豆:174 (初学一级) | 2012-02-21 11:11
0

我找到原因了,是我调用别人将实体对象的属性值转化为Hashtable对应的键值时,里面多了“hash.Add("ID", Info.ID);”,只要去掉这个就行了。哎,让我纠结了很久。但是还是谢谢大家的热心

guosongORxiaosong | 园豆:102 (初学一级) | 2012-02-21 11:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册