以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Update  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179889)

--  作者:fanjq8686
--  发布时间:2022/9/16 9:17:00
--  [求助]Update
请教老师:
学习杰哥的E1迷你库存管理系统,移值到我的系统里出了点问题:
原来的数据库是Access,改成了SQL。

\'通过Functions.Execute("入库单审核", "审核/反审核", Row)使用
\'传入审批动作和主表行,执行库存出入库

Dim action As String = Args(0) \'审批动作,有 审核/反审核
Dim mr As Row = Args(1) \'传入要审批的主表行
Dim v3 As Boolean = True

Dim cmd As New SQLCommand
cmd.C
Dim dn As Date = PublicServerDate
Select Case action
    Case "审核"
        cmd.BeginTransaction \'多表操作,需要使用Sql事务,保证一致性
        Try
            \'1更新主表
            MessageBox.Show("设置表名:" & mr.Table.Name)
            MessageBox.Show("mrID:" & mr("ID"))
            cmd.CommandText = "Up date " & mr.Table.Name & " Set 版本号 = 版本号+1 ,是否审核 = ? ,审核人 = ? ,审核时间 = ? where ID = ?"
            \'MessageBox.Show("字符串:" & cmd.CommandText)
            cmd.Parameters.Clear
            cmd.Parameters.Add("@ID", mr("ID"))
            cmd.Parameters.Add("@审核人", PublicUserName)
            cmd.Parameters.Add("@审核时间", dn)
            cmd.Parameters.Add("@是否审核", True)
            
            MessageBox.Show("准备更新成功")
            If cmd.ExecuteNonQuery = 1 Then
                MessageBox.Show("更新成功")
            Else
                MessageBox.Show("更新不成功")
            End If 
这一段过不去,提示:在将nvarchar值‘ ......’转换成数据类型bit时失败,‘.....\'是ID值。
什么原因呢?

先谢谢了!

--  作者:有点蓝
--  发布时间:2022/9/16 9:41:00
--  
参数的顺序要和sql里列的顺序一致

            cmd.CommandText = "Up date " & mr.Table.Name & " Set 版本号 = 版本号+1 ,是否审核 = ? ,审核人 = ? ,审核时间 = ? where ID = ?"
            \'MessageBox.Show("字符串:" & cmd.CommandText)
            cmd.Parameters.Clear
            cmd.Parameters.Add("@是否审核", True)
            cmd.Parameters.Add("@审核人", PublicUserName)
            cmd.Parameters.Add("@审核时间", dn)
            cmd.Parameters.Add("@ID", mr("ID"))
--  作者:fanjq8686
--  发布时间:2022/9/16 15:14:00
--  
谢谢老师!学习不认真,帮助写的明明白白。