Foxtable(狐表)用户栏目专家坐堂 → 複选列,进行同一程序


  共有5286人关注过本帖树形打印复制链接

主题:複选列,进行同一程序

帅哥哟,离线,有人找我吗?
acheng8888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:308 威望:0 精华:0 注册:2022/9/7 15:28:00
複选列,进行同一程序  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:308 威望:0 精华:0 注册:2022/9/7 15:28:00
  发帖心情 Post By: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")

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/22 10:01:00 [只看该作者]

        For i As Integer = .TopPosition To .BottomPosition
mcase_no = Tables("V42I").rows(i)("case_no")

 回到顶部
帅哥哟,离线,有人找我吗?
acheng8888
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:32 积分:308 威望:0 精华:0 注册:2022/9/7 15:28:00
  发帖心情 Post By:2022/9/22 10:49:00 [只看该作者]

解决了,谢谢协助

 回到顶部