将MSHFLEXGRID 中的数据insert 到数据表,出错Dim i  As Long
Dim strsql   As String
With MSHFlexGrid1
For i = 1 To .Rows - 1
strsql = "insert into test(xh,filtrate,code,name,pri,qty) values(.TextMatrix(i,0),.TextMatrix(i,1))"
con.Execute strsql
Next i
End With请问哪错了?

解决方案 »

  1.   

    con在什么地方设置的连接属性等?
      

  2.   

    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    con.Open "Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=sa;Initial Catalog=k_tid;Data Source=192.168.0.1\store"
    rs.Open "select * from test", con, adOpenKeyset, adLockOptimisticDim i As Long
    Dim strsql As String
    With MSHFlexGrid1
    For i = 1 To .Rows - 1
    strsql = "insert into test(xh,filtrate,code,name,pri,qty) values(.TextMatrix(i,0),.TextMatrix(i,1))"
    con.Execute strsql
    Next i
    End With
    将MSHFLEXGRID中的数据存入test 表中(MSHFlexgrid中已经有数据)
      

  3.   

    strsql = "insert into test(xh,filtrate,code,name,pri,qty) values(.TextMatrix(i,0),.TextMatrix(i,1))"
    这个错了。
    strsql = "insert into test(xh,filtrate,code,name,pri,qty) values(" & .TextMatrix(i,0) & "," & .TextMatrix(i,1) & ")"
      

  4.   

    需要插入的字段有 5 个:xh,filtrate,code,name,pri,qty
    用于插入的值只有 2 个:.TextMatrix(i,0),.TextMatrix(i,1)
    这样的 SQL 怎么改也不可能成功。
      

  5.   

    问题是这样也不行啊,提示 第1行:','附近有语法错误
    strsql = "insert into test(xh,filtrate) values(" & .TextMatrix(i,0) & "," & .TextMatrix(i,1) & ")"
      

  6.   

    strsql = "insert into test(xh,filtrate) values(" & .TextMatrix(i,0) & "," & .TextMatrix(i,1)) & ")"'con.Execute strsql
    Debug.Print strsql看看所有的 SQL 命令都是什么。
      

  7.   

    strsql = "insert into test(xh,filtrate) values(" & .TextMatrix(i,0) & "," & .TextMatrix(i,1)) & ")"
    改成这样试
    strsql = "insert into test(xh,filtrate) values('" & .TextMatrix(i,0) & "','" & .TextMatrix(i,1)) & "')"