1. 论坛系统升级为Xenforo,欢迎大家测试!
    Dismiss Notice

如何把access中的A字段的数据写入B字段中。

Discussion in '后端开发' started by cmcm163, Feb 20, 2006.

  1. cmcm163

    cmcm163 New Member

    Joined:
    Dec 23, 2005
    Messages:
    59
    Likes Received:
    0
    想请教个问题。


    我想把access中的A字段的数据首100个字符写入B字段中。 但老是出错。

    我写的代码:

    <!--#include file="conn.asp"-->
    <% dim xx,yy
    strsql="select * from PE_Article"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strsql, conn, 1, 1
    while not rs.eof
    xx=left(rs("title"),100)
    set rs=server.CreateObject("adodb.recordset")
    sqlstr="SELECT * PE_Article where ArticleID=rs(ArticleID)"
    rs.open sqlstr,conn,1,3
    rs.addnew
    rs("intro")=xx
    rs.update
    rs.movenext
    wend
    rs.close
    %>



    高手,能不能帮我改改!
     
  2. 风

    New Member

    Joined:
    Sep 5, 2005
    Messages:
    145
    Likes Received:
    0
    Code:
    <!--#include file="conn.asp"-->
    <% dim xx,yy
    strsql="select * from PE_Article"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open strsql, conn, 1, 2
    while not rs.eof 
        rs("intro")=left(rs("title"),100)
        rs.update 
        rs.movenext
    wend
    rs.close
    %>
    你在循环中建立 Recordset 对象,同外层的 Recordset 对象名一样,当然会出错。
     
  3. Tameway

    Tameway New Member

    Joined:
    Sep 6, 2005
    Messages:
    1,286
    Likes Received:
    8
    <!--#include file="conn.asp"-->
    <% dim xx,yy
    set rs=server.CreateObject("adodb.recordset")
    sqlstr="SELECT * PE_Article where ArticleID=rs(ArticleID)"
    rs.open sqlstr,conn,1,3
    while not rs.eof
    xx=left(rs("title"),100)
    rs("intro")=xx
    rs.update
    rs.movenext
    loop
    rs.close
    set rs=nothing
    %>

    这样不知道是否符合程序功能要求
     
  4. 小叶

    小叶 New Member

    Joined:
    Sep 4, 2005
    Messages:
    17,941
    Likes Received:
    33
    直接在数据库access里建立查询,执行下面的SQL语句,完成。

    update PE_Article Set intro=left(title,100)


    啊哦,,楼上两大虾,,不如我的一句,,嘎嘎。。
     
    #4 小叶, Feb 20, 2006
    Last edited: Feb 20, 2006
  5. 不学无术

    不学无术 Ulysses 的元神

    Joined:
    Aug 31, 2005
    Messages:
    16,714
    Likes Received:
    39
    温馨提示:回答问题,要看提问人的“语法环境”。

    :D
     
  6. 小叶

    小叶 New Member

    Joined:
    Sep 4, 2005
    Messages:
    17,941
    Likes Received:
    33
    可以实现哦,,,他的记录本来就存在的,你只要建立一个新的查询就ok了。
     
  7. 不学无术

    不学无术 Ulysses 的元神

    Joined:
    Aug 31, 2005
    Messages:
    16,714
    Likes Received:
    39
    我的意思是尽可能按照他的思路去指导——他使用的是 ADO ,你却要告诉他在 Access 中用查询。

    ;)
     
  8. 小叶

    小叶 New Member

    Joined:
    Sep 4, 2005
    Messages:
    17,941
    Likes Received:
    33
    那还不一样!?
     
  9. Tameway

    Tameway New Member

    Joined:
    Sep 6, 2005
    Messages:
    1,286
    Likes Received:
    8

    绝对不一样哦
     
  10. 风狼

    风狼 New Member

    Joined:
    Oct 1, 2005
    Messages:
    7,452
    Likes Received:
    25
    肯定不一样啦
    一个是ADO的方法
    一个是ACCESS的方法。。

    不过我都不懂。哇哈哈
     
  11. 风狼

    风狼 New Member

    Joined:
    Oct 1, 2005
    Messages:
    7,452
    Likes Received:
    25
    <!--#include file="conn.asp"-->
    exec="select * form 表A "
    set objrs=server.createobject("adodb.recordset")
    objrs.open exec,1,1
    Do while not objrs.eof
    xx=left(字段A,100)
    objrs("字段B")=xx
    objrs.addnew
    objrs.movenext
    Loop
    response.write "数据转移完成!"
    objrs.close
    set objrs=nothing
    conn.close
    set conn=nothing


    凑合着吧。。不知有米有用
     
  12. 阿木

    阿木 New Member

    Joined:
    Nov 8, 2005
    Messages:
    1
    Likes Received:
    0
    <!--#include file="conn.asp"-->
    <%
    conn.Execute("Update PE_Article Set intro=left(title,100)")
    conn.Close
    Set conn=Nothing
    %>
     
  13. 小叶

    小叶 New Member

    Joined:
    Sep 4, 2005
    Messages:
    17,941
    Likes Received:
    33
    yes,,俺不会的。。
     
  14. 不学无术

    不学无术 Ulysses 的元神

    Joined:
    Aug 31, 2005
    Messages:
    16,714
    Likes Received:
    39
    不错不错,集思广益。

    :)