【问题标题】:Update 1 Sum + Value SQL Server vb.net更新 1 Sum + Value SQL Server vb.net
【发布时间】:2019-11-30 03:59:53
【问题描述】:

我的表中有两列(IDAuto);当我单击按钮 1+ 时,我想增加列 auto 中的值。

Dim cmd As New SqlCommand
cmd.Connection = cn
cmd.CommandText = ("UPDATE Table_8 SET ID = @ID,Auto = @Auto WHERE ID = @ID")
cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = "1"
cmd.Parameters.Add("@Auto+1", SqlDbType.VarChar).Value = +1

cn.Open()
cmd.ExecuteNonQuery()
cn.Close()

【问题讨论】:

    标签: sql-server vb.net


    【解决方案1】:

    你不需要第二个参数@Auto你可以简单地在Query中做

    第二件事是,为什么你的数据库中的自动列VARCHAR 如果你想对其执行增量操作,它可能需要INT

    我建议您更改,否则您需要将该值转换为整数以执行加法。

    请在更改列后尝试以下代码:

    Dim cmd As New SqlCommand
    cmd.Connection = cn        
    cmd.CommandText = ("UPDATE Table_8 SET Auto = Auto+1 WHERE ID = @ID")
    cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = "1"      
    cn.Open()
    cmd.ExecuteNonQuery()
    cn.Close()
    

    或者:

    cmd.CommandText = ("UPDATE Table_8 SET Auto =CAST((CAST(Auto AS INT)+1) AS VARCHAR(your size)) WHERE ID = @ID")
    

    【讨论】:

    • 亲爱的我有两种形式,一种是form1,第二种是form2,当我点击按钮时,form1将关闭,form2显示请发送编码
    • @khan46,这个问题完全不相关,所以它根本不属于这个页面,别介意评论。如果您有新问题,请发布一个新问题,其中包含所有适当的信息,包括您已经尝试过的内容。 “我想做 X,发送代码”不是 SO 的问题。
    • WHERE 子句已经确定它的当前值时,将ID 列设置为@ID 的值是没有意义的。
    • @khan46 请通过单击答案左侧的复选标记(勾号)来接受 FrustratedDeveloper 的答案。这是在 Stack Overflow 上表达感谢的最佳方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多