SQL = "INSERT into  test_data(piece_id ,x,y,h)  values ("2003009","12","15","16") "
-->
SQL = "INSERT into  test_data(piece_id ,x,y,h)  values ('2003009','12','15','16') "

解决方案 »

  1.   

    Private Sub Command1_Click()
       
       Dim cnn As ADODB.Nonnection
       Dim SQL As String
       Dim sTokens() As String
       Set cnn = New ADODB.Connection
       cnn.Open ConnectString
       SQL = "INSERT into  test_data(piece_id ,x,y,h)  values ('2003009','12','15','16') "
       sTokens = Split(SQL)
       If InStr("INSERT,DELETE,UPDATE", _
          UCase$(sTokens(0))) Then
          cnn.Execute SQL
       End If
    End SubPublic Function ConnectString() _
       As String
       ConnectString = "FileDSN=gwj.dsn;UID=sa;PWD="
    End Function
      

  2.   

    把values括号中的双引号改为单引号。
      

  3.   

    如果我的数据是从VB中的文本框中得来的,如何将text1.text转换为int或者float?
      

  4.   

    同一楼上各位SQL = "INSERT into  test_data(piece_id ,x,y,h)  values ('2003009','12','15','16') "
      

  5.   

    Private Sub Command1_Click()
       
       Dim cnn As ADODB.Nonnection
       Dim SQL As String
       Dim sTokens() As String
       Set cnn = New ADODB.Connection
       cnn.Open ConnectString
       SQL = "INSERT into  test_data(piece_id ,x,y,h)  values (2003009,12,15,16) "
       sTokens = Split(SQL)
       If InStr("INSERT,DELETE,UPDATE", _
          UCase$(sTokens(0))) Then
          cnn.Execute SQL
       End If
    End SubPublic Function ConnectString() _
       As String
       ConnectString = "FileDSN=gwj.dsn;UID=sa;PWD="
    End Function
      

  6.   

    好象不需要转换吧,如果要转换用Convert()函数这是sql 函数,convert(数据类型,值)
      

  7.   

    假设pice_id是varchar
    x,y,h是int
    SQL = "INSERT into  test_data(piece_id ,x,y,h)  
    select '"& text1.text &"',cast('"& text2.text & "' as int) " &",15,16)"