我要建立下面这两张表
第一张:                     第二张:       
id  title                  id    answer   |    
1    ""                     1     ""      |     3    ""
2    ""                     1     ""      |     3    ""
3    ""                     1     ""      |     3    ""
4    ""                     2     ""      |     4    ""
                            2     ""      |     4    ""
把第一张的title.id自增后.第一张表:
rs.addnew
rs.Fields("title") = Request.Form("title")
rs.Updated = rs.fields("id")
第二张:
rs.addnew
rs.fields("answer") = Request.form(int(b)+1)
rs.fields("id") = d
rs.update运行后提示:多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。   怎么回事哦?郁闷死了

解决方案 »

  1.   

    没有用过asp,但是rs应该在两个表中不一样吧,你怎么能用同一个rs呢?
      

  2.   

    中间的rs.close没写出来,两张表用的不是同个rs.
      

  3.   

    <%@ Language=VBScript %><%  set conn = server.CreateObject ("ADODB.Connection")
    conn.Open "Provider=SQLOLEDB;data source=(local);initial catalog=vote1;user id=sa;password=admin;" sql = "SELECT * FROM title"
    set rs = server.CreateObject ("ADODB.Recordset")
    rs.Open sql, conn, 3, 3       
    %>
    <%rs.addnewrs.Fields("title") = Request.Form("title")
    rs.fields("active") = "n"
    rs.Updated = rs.fields("id")
    %><%
    rs.close
    set rs = nothingsql = "SELECT * FROM vote"
    set rs = server.CreateObject ("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    %><%
    for b=1 to 10
    rs.addnew
    rs.fields("answer") = Request.form(int(b)+1)
    rs.fields("id") = d
    rs.updaters.movenext
    if rs.eof then
    rs.movelast
    end if
    next%>原来语句是这样的.
      

  4.   

    楼主6.0的怎么跑来这里了,呵呵。有两种可能:
    1)因为更新的值长度超过数据库预定的长度。
    2)更新的数据类型与数据库类型不一致
    --------------------------------------------
    什么6.0的,不懂噢.你是说问题是出在"title"上面吧?我title 和answer定义的是nvarchar..应该没问题吧?
      

  5.   

    ADODB.RecordSet属于6.0的记录操作集。nVarChar默认长度50,如果超过50,会出现上述错误。
      

  6.   

    用完一次rs后,要及时关闭和销毁rs.clsoe
    set rs=nothing在第一个表用完后销毁