Sql = "select username,password from forum_userdb order by id asc"
set rs = conn.execute(sql)
while not rs.eof
pwd=rs("password")
pwd= md5("password",32)
sql="insert into dv_user(userpassword) values('" & pwd & "')"
conn.execute sql
rs.movenext
wend
Rs.close

解决方案 »

  1.   

    不对啊,结果还是跟原来一样,所有的记录的userpassword的值都一样,是不是我没有把情况说清楚呢?
      

  2.   

    是不是你RS("password")就是一个值啊
      

  3.   

    对啊,情况是这样的,有两个表,一个forum_userdb,一个dv_user,现在我想把表forum_userdb里的所有用户信息转到dv_user里,以便能在动网论坛里继续登陆,而forum_userdb里的用户密码是没有加密的,dv_user里是要用MD5加密为32位的,我的forum_userdb里有7000多条记录,我现在就想实现把forum_userdb里的username,password,email,intime这几个字段的值加到dv_user里去,对应的字段是username,userpassword,email,joindate,在这个过程中,需要把forum_userdb里的password用MD5加密为32位的,forum_userdb里的username是不一样的,但password可能有一样的,情况就是这样,用上面的代码运行的话,总是把forum_userdb里第一条记录的password加密为32位后插入到dv_user里了,而且后面的7000多条记录的userpassword都是这个值,问题出在哪里呢?
      

  4.   

    <%
    Sql = "select username,password from forum_userdb order by id asc"
    set rs = conn.execute(sql)
    while not rs.eof
    pwd= md5(rs("password"),32)
    sql="insert into dv_user(userpassword) values('" & pwd & "')"
    conn.execute sql
    rs.movenext
    wend
    Rs.close
    %>
      

  5.   

    一\应该放在循环内
    二\语法写错了while
    pwd=rs("password")
    pwd= md5("password",32)  ----> pwd= md5(pwd,32)
    ......
    wend
      

  6.   

    <%
    Sql = "select username,password from forum_userdb order by id asc"
    set rs = conn.execute(sql)
    while not rs.eof
    pwd= md5(rs("password"),32)
    sql="insert into dv_user(userpassword) values('" & pwd & "')"
    conn.execute sql
    rs.movenext
    wend
    Rs.close
    %>