我们可以在同一按钮操作中同时使用插入和更新吗?

| 我有一个表名称作为销售额,另一个是余额。我想在销售中使用插入命令并更新资产负债表。我能做什么?
     cmd.CommandText = \" INSERT INTO SALES VALUES(\'\" & ComboBox1.Text & \" \' , \" & SILVER & \" ,\" & GOLD & \",\'\" & ComboBox2.Text & \"\',\" & KILO.Text & \", \" & TOUCH.Text & \" ,\" & TOTKILO.Text & \",\" & TextBox3.Text & \",\" & TextBox8.Text & \",\" & KGOLD & \",\" & KSILVER & \",\" & TextBox9.Text & \" ,\" & TextBox10.Text & \",\" & TextBox11.Text & \",\" & TextBox12.Text & \" , \" & TextBox13.Text & \" )\"
     Dim NB As Double
    NB = TextBox11.Text
    ST = ComboBox1.SelectedValue.ToString
    cmd.CommandType = \" UPDATE BALANCE SET OBBALANCE = \" & \" \" & NB & \" \" & \" WHERE         CUSTOMERNAME =  \" & \" \'\" & ST & \"\'\" & \" \"
    cmd.Connection = con
    cmd.ExecuteNonQuery()
    con.Close()
它显示错误,因为从字符串\“ UPDATE BALANCE SET OBBALANCE = \”到类型\ Integer \的转换无效。     
已邀请:
您可以在INSERT语句的末尾添加一个分号,以将它们分成两个单独的语句。但是您的错误是您将CommandType设置为字符串,并且这是一个枚举:CommandType枚举     
CommandType
是一个枚举,它告诉ѭ2in中的值是什么:查询,表名等。 您不能在此处放置查询文本。 相反,您应该执行以下任一操作(从最佳到最差): 将两个命令都放入服务器端的存储过程中,并调用存储的过程。这将是更好的方法。 将“ 3”命令追加到“ 4”命令。 创建另一个“ 5”实例,然后在同一事务中再次运行它。     
您可以使用
;
将两者都发送到服务器:
cmd.CommandText=\"insert into ...(...) values(...); update ... set ...\"
cmd.Connection=con
cmd.ExecuteNonQuery()
这也是您取回使用的标识值的方式,您要在ѭ9之后加上append8。 其他人介绍了为什么
CommandType
是错误的属性,所以我将其保留。     

要回复问题请先登录注册