以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 已添加了具有相同键的项 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=183096) |
-- 作者:wsjawm -- 发布时间:2022/10/24 11:43:00 -- 已添加了具有相同键的项 执行代码后出现已添加了具有相同键的项的错误,Sqlserver中只添加成功了第一次循环的值即number=521,不知道什么情况
|
-- 作者:有点蓝 -- 发布时间:2022/10/24 11:46:00 -- 代码呢? |
-- 作者:wsjawm -- 发布时间:2022/10/24 11:49:00 -- 上传代码出错,不知道怎么搞 |
-- 作者:有点蓝 -- 发布时间:2022/10/24 11:53:00 -- 如果有SQL:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632 |
-- 作者:wsjawm -- 发布时间:2022/10/24 11:53:00 -- Dim num As Integer = 521 Dim cmd As New SQLCommand cmd.ConnectionName = shujuyuan For i As Integer = 0 To 1 cmd.CommandText = "Select Count(*) Fr om {新厂外圈投料表} Where [number] = \'" & num & "\'" If cmd.ExecuteScalar = 0 Then cmd.CommandText = "Insert Into 新厂外圈投料表 (number,type) Values(?,?)" cmd.Parameters.Add("@number", num) cmd.Parameters.Add("@type", "012.25.1530") cmd.ExecuteNonQuery End If num = num + 1 Next |
-- 作者:有点蓝 -- 发布时间:2022/10/24 11:55:00 -- For i As Integer = 0 To 1 cmd.Parameters.clear
cmd.CommandText = "Select Count(*) Fr om {新厂外圈投料表} Where [number] = \'" & num & "\'" If cmd.ExecuteScalar = 0 Then cmd.CommandText = "Insert Into 新厂外圈投料表 (number,type) Values(?,?)" cmd.Parameters.Add("@number", num) cmd.Parameters.Add("@type", "012.25.1530") cmd.ExecuteNonQuery End If num = num + 1 Next |
-- 作者:wsjawm -- 发布时间:2022/10/24 12:02:00 -- 问题解决了,但是不明白为什么要这么做呢? |
-- 作者:有点蓝 -- 发布时间:2022/10/24 12:04:00 -- 道理不复杂,Parameters是一个字典,不允许添加重复的键,在循环里不断添加,就重复了 |