编写的.net程序中,使用update语句更新数据库(access数据库)中表,表有三个字段。一个是自动序列,其它两个为字符型。在程序中使用update语句如下:Dim sqlstr As String
Dim abc As Int16
abc = CType(TextBox3.Text, Short)
sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] =abc"运行后总是显示至少有一个参数未赋值,但将abc变为一个常数,如1,2就无问题。ID字段是access中的自动序列字段,所以我将textbox3.text返回字符串变为数值型,变与不变均报错,不知为什么,请各位高手指点!!!多谢了!

解决方案 »

  1.   

    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] ="+abc
      

  2.   

    sqlstr = "UPDATE b1 SET a1 = '" & TextBox1.Text & "',a2 = '" & TextBox2.Text & "' WHERE [ID] =" & abc
      

  3.   

    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] ="+abc
    这个好用的
      

  4.   

    Dim abc As Int32
    abc = Convert.ToInt32(TextBox3.Text)
      

  5.   

    Dim sqlstr As String
    Dim abc As Int16
    abc = CType(TextBox3.Text, Short)
    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] =abc"
    应该修改为:
    Dim sqlstr As String
    Dim abc As Int16
    abc = CType(TextBox3.Text, Short)
    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] =" + abc + ""
    才对啊
      

  6.   

    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] =" + abc
      

  7.   

    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] ='" abc "'"
      

  8.   

    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] ='" + abc + "'"
      

  9.   

    Dim sqlstr As String
    Dim abc As Int16
    abc = CType(TextBox3.Text, Short)
    sqlstr = "UPDATE b1 SET a1 = '" + TextBox1.Text + "',a2 = '" + TextBox2.Text + "' WHERE [ID] =" + abc + ""