Dim cn As New ADODB.Connection
Dim str_StN As String
    Set rcdst = New ADODB.Recordset
    Set rcdst_1 = New ADODB.Recordset
    cn.ConnectionString = ("Provider=SQLOLEDB.1;Server=IBM-7109E2F08B2;User ID=sa;PWD=;Initial Catalog=th_db;")
    cn.Open    rcdst.Open "select sid,fvn01 from His where stime in(select max(stime) from His group by sid)", cn, 3, 2        Do While Not rcdst.EOF
        str_StN = rcdst.Fields("sid")
        str_stV=rcdst.Fields("fvn01")
            Select Case str_StN
            Case 1
                rcdst_1.Open "insert into XML_data (cardNumber,value) values ('200002'),(str_stV)]"
要实现的功能是首先读取表HIs中的sid,fvn01,然后判断sid值,
如果是1,就把XML_data中cardNumber和value分别赋值,
如果是2。这样写编译有错误,高手帮看一下。

解决方案 »

  1.   


    rcdst_1.Open "insert into XML_data (cardNumber,value) values ('200002'),(str_stV)]" 改为rcdst_1.Open "insert into XML_data (cardNumber,value) values ('200002'," & str_stV & ")" 试试
      

  2.   

    VB代码
    rcdst_1.Open "insert into XML_data (cardNumber,value) values ('200002'),(str_stV)]" 
    改为
    rcdst_1.Open "insert into XML_data (cardNumber,value) values ('200002'),('" & str_stV &"')]"