以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 複选列,进行同一程序 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179984) |
-- 作者:acheng8888 -- 发布时间:2022/9/21 21:19:00 -- 複选列,进行同一程序 我想针对V42I表内複选的列一併执行"up_42I_m_y"这个程序,代码如下 但会报错 详细错误信息: 已经加入含有相同索引键的项目。 请问我该怎麽修正问题呢? Dim mnum As Long Dim mcase_no As String Dim mngnm As String Dim filter As String Dim mposi As Integer Dim mqty1 As Integer Dim mqty2 As Integer Dim cmd As New SQLCommand With Tables("V42I") If .TopPosition > -1 Then \'如果选定区域包括数据行 For i As Integer = .TopPosition To .BottomPosition mcase_no = Tables("V42I").Current("case_no") cmd.C cmd.CommandText = "up_42I_m_y" \'指定存储过程名 cmd.StoredProcedure = True \'表示CommandText内容不是标准的SQL语句,而是存储过程名 cmd.Parameters.Add("@case_no", mcase_no) cmd.Parameters.Add("@userid" , User.Name) cmd.ExecuteNonQuery cmd.Commit() Next End If End With |
-- 作者:有点蓝 -- 发布时间:2022/9/22 9:01:00 -- cmd.CommandText = "up_42I_m_y" \'指定存储过程名 cmd.StoredProcedure = True \'表示CommandText内容不是标准的SQL语句,而是存储过程名 cmd.Parameters.clear cmd.Parameters.Add("@case_no", mcase_no) …… 另外没有启用事务不需要调用cmd.Commit()
|
-- 作者:acheng8888 -- 发布时间:2022/9/22 9:58:00 -- 又试一下,虽没有报错,但都只有选定的第一列执行程序,其他複选的没有被执行 再度麻烦了 Dim mnum As Long Dim mcase_no As String Dim mngnm As String Dim filter As String Dim mposi As Integer Dim mqty1 As Integer Dim mqty2 As Integer Dim cmd As New SQLCommand With Tables("V42I") If .TopPosition > -1 Then \'如果选定区域包括数据行 For i As Integer = .TopPosition To .BottomPosition mcase_no = Tables("V42I").Current("case_no") cmd.C cmd.CommandText = "up_42I_m_y" \'指定存储过程名 cmd.StoredProcedure = True \'表示CommandText内容不是标准的SQL语句,而是存储过程名 cmd.Parameters.clear cmd.Parameters.Add("@case_no", mcase_no) cmd.Parameters.Add("@userid" , User.Name) cmd.ExecuteNonQuery Next End If End With Functions.Execute("42I_position") |
-- 作者:有点蓝 -- 发布时间:2022/9/22 10:01:00 -- For i As Integer = .TopPosition To .BottomPosition mcase_no = Tables("V42I").rows(i)("case_no")
|
-- 作者:acheng8888 -- 发布时间:2022/9/22 10:49:00 -- 解决了,谢谢协助 |