以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Insert 语句如何循环? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138349) |
-- 作者:石四 -- 发布时间:2019/7/29 14:47:00 -- Insert 语句如何循环? If MsgBox("确认保存数据?",65,"提示") = 1 Then Dim cmd As New SQLCommand cmd.Conn e Dim i As Integer For i = 0 To 2 cmd.CommandText = "Insert Into {销售单} ([日期],[出库单号],[客户名称]) Values(?,?,?)" cmd.Parameters.Add("@日期",2019-07-29) cmd.Parameters.Add("@出库单号",i) cmd.Parameters.Add("@客户名称","kumc") Next If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 MessageBox.Show("销售单保存成功") End If End If 提示“...已添加相同的键”
|
-- 作者:有点蓝 -- 发布时间:2019/7/29 14:48:00 -- For i = 0 To 2 cmd.Parameters.clear cmd.CommandText = "Insert Into {销售单} ([日期],[出库单号],[客户名称]) Values(?,?,?)" cmd.Parameters.Add("@日期",2019-07-29) cmd.Parameters.Add("@出库单号",i) cmd.Parameters.Add("@客户名称","kumc") Next
|
-- 作者:石四 -- 发布时间:2019/7/29 15:12:00 -- If MsgBox("确认保存数据?",65,"提示") = 1 Then Dim cmd As New SQLCommand cmd.Connecti Dim i As Integer For i = 1 To 4 cmd.Parameters.clear cmd.CommandText = "Insert Into {销售单} ([日期],[出库单号],[客户名称]) Values(?,?,?)" cmd.Parameters.Add("@日期",Date.Today()) cmd.Parameters.Add("@出库单号",i) cmd.Parameters.Add("@客户名称","kumc") Next If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 MessageBox.Show("销售单保存成功") End If End If 这样的结果只Insert最后一行,“出库单号=4”.
|
-- 作者:有点蓝 -- 发布时间:2019/7/29 15:19:00 -- If MsgBox("确认保存数据?",65,"提示") = 1 Then Dim cmd As New SQLCommand cmd.Connecti Dim i As Integer For i = 1 To 4 cmd.Parameters.clear cmd.CommandText = "Insert Into {销售单} ([日期],[出库单号],[客户名称]) Values(?,?,?)" cmd.Parameters.Add("@日期",Date.Today()) cmd.Parameters.Add("@出库单号",i) cmd.Parameters.Add("@客户名称","kumc") cmd.ExecuteNonQuery Next End If
|
-- 作者:石四 -- 发布时间:2019/7/29 16:03:00 -- 蓝版,添加cmd.ExecuteNonQuery后最后一行会重复Insert. 比如:For i = 1 To 2,会Insert三行,两行的“出库单号”=2
|
-- 作者:石四 -- 发布时间:2019/7/29 16:05:00 -- http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=138336&page=2 |
-- 作者:有点蓝 -- 发布时间:2019/7/29 16:18:00 -- 4楼的代码不可能有这个问题。贴出有问题的代码 |
-- 作者:石四 -- 发布时间:2019/7/29 16:50:00 -- 测试4楼的代码,确实没有问题。 |
-- 作者:石四 -- 发布时间:2019/7/29 16:52:00 -- If MsgBox("确认保存数据?",65,"提示") = 1 Then Dim cmd As New SQLCommand cmd.Connectio Dim i As Integer For i = 1 To 2 cmd.Parameters.clear cmd.CommandText = "Insert Into {销售单} ([日期],[出库单号],[客户名称]) Values(?,?,?)" cmd.Parameters.Add("@日期",Date.Today()) cmd.Parameters.Add("@出库单号",i) cmd.Parameters.Add("@客户名称","kumc") cmd.ExecuteNonQuery Next If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 MessageBox.Show("销售单保存成功") End If End If 这个多了: If cmd.ExecuteNonQuery = 1 Then \'返回1表示增加成功 MessageBox.Show("销售单保存成功") End If 会重复 |
-- 作者:有点蓝 -- 发布时间:2019/7/29 17:14:00 -- 既然知道会重复就不要了咯。 |