Set rs_up = New ADODB.Recordset
rs_up.Open "select * from warehouse where id=" & update_text(0).Text, Conn, 1, 3
rs_up("code") = update_text(1).Text
rs_up("art") = update_text(2).Text
rs_up("goods_name") = update_text(3).Text
rs_up("price_in") = update_text(4).Text
rs_up("price_out") = update_text(5).Text
rs_up("quantity") = update_text(6).Text
rs_up("business") = update_text(7).Text
rs_up("category") = update_text(8).Text
rs_up("minimum") = update_text(9).Text
rs_up.Update
rs_up.Close: Set rs_up = Nothing如上代码,数据库中能找到要更新的行,但有个奇怪现象,update_text(1)-update_text(9)随便有数据修改,上面的更新到库就正常,如果不改动内容直接提交修改,就会显示标题所说的错误提示,这个问题出在哪?

解决方案 »

  1.   

    也就是说,如果数据和库中的没有改动它就会提示错误rs_up("art") = update_text(2).Text & "1"
    随便加个变动值进去,就会正常
      

  2.   

    找不出原因,就用另外的办法解决了Conn.Execute " update warehouse set " _
                 & "code='" & update_text(1).Text & "'" _
                 & ",art='" & update_text(2).Text & "'" _
                 & ",goods_name='" & update_text(3).Text & "'" _
                 & ",price_in='" & update_text(4).Text & "'" _
                 & ",price_out='" & update_text(5).Text & "'" _
                 & ",quantity='" & update_text(6).Text & "'" _
                 & ",business='" & update_text(7).Text & "'" _
                 & ",category='" & update_text(8).Text & "'" _
                 & ",minimum='" & update_text(9).Text & "'" _
                 & " where id=" & update_text(0).Text

    换成这样就不会出错,娘的