我认为应该写成这样
showrs.fields("zdbg")=text1.text
而不应该
showrs("ZDBG")=text1.text   '为123
还有我要多说一句
你的代码不规范,这样你的程序可读性很差,所以出像问题也很难修改。

解决方案 »

  1.   

    1)问题出在你打开数据库的方式也就是"Showrs.open sql,conn,1,2"上。
    你应该用可写的方式打开数据库--你现在实际上是用只读且只向前的方式打开数据库,当然不能更新数据库了。
    用这种方式更新数据库,你必须先用“ADDNEW”方法打开数据库。(详细请见第三部分的代码)2)showrs.addnew
    showrs("word")="大串数字"
    showrs.update
    可以成功是因为它是增加一条记录,而且前面有“addnew”指令。3)给你一个成功的例子:
    Set Conn = New ADODB.Connection
        Set p_RS = New ADODB.Recordset
        
        '' Open ADO connection
        Conn.Open g_StrConn
        
        'Set p_Rs = New Recordset
        p_RS.Open "SELECT * FROM T_Press WHERE ID=" & p_ID, Conn, adOpenStatic, _
            adLockOptimistic
        
        p_RS!SimpleName = p_SimpleName
        p_RS!FullName = p_FullName
        p_RS!Re = p_Re
        
        p_RS.Update
        
        '' close Data
        p_RS.Close
        Set p_RS = Nothing
      

  2.   

    另外对“ free7090(free) ”的说法持反对和保留意见:整个一个浪费时间!
    怎么看怎么象南郭先生--因为“yl_cml (阿毛) ”所问问题的根本愿意既不在于什么“应该写成什么样或怎么样”,也不是什么“代码不规范”,而是基本语法的缺陷。
      

  3.   

    如下应该不会有问题
    With rs
        .CursorLocation = adUseClient
        .ActiveConnection = conn
        .CursorType = adOpenKeyset
        .LockType = adLockPessimistic
        .Open sql
    End With
      

  4.   

    “根本愿意”--》“根本原因”。
    Sorry!
      

  5.   

    Sorry! "用这种方式更新数据库,你必须先用“ADDNEW”方法打开数据库。"--有个前提:“增加记录的时候”。
      

  6.   

    谁你帮我介绍一下ADO中 Showrs.open sql,conn,1,2 1,2代表什么,另外其他参数代表什么!
      

  7.   

    我觉得这样更新数据不好,应该直接用sql语句update
    如果是新记录的就用insert了.
    好像都可以达到目的,不妨试试看.