Sql ="update news set name='"&name&"',name='"&name&"',pass='"&pass&"',sex='"&sex&"',email='"&email&"',news='"&news&"',time="&now&" where id = " & Request.form("id")改成Sql ="update news set name='"&name&"',name='"&name&"',pass='"&pass&"',sex='"&sex&"',email='"&email&"',news='"&news&"',time='"&now&"' where id = " & Request.form("id")试试看。
怀疑是time="&now&"的问题,对数据库中datetime类型的字段赋值时或者用convert之类函数转换,患者直接用字符串(这时数据库自动转换)。好像不能直接写成time=1978-12-11 12:00:00之类,time='1978-12-11 12:00:00'是可以通过的。

解决方案 »

  1.   

    asp不是有asp的论坛么。上这里怎么会有人回答呢
      

  2.   

    ACESSS的update语句不能这么做的,很不好,因为你的输入有任何一个回车换行它就不行了,不像mysql,而且用update很容易引起安全问题,用户输入单引号或两个--
    就会对你的整个语句发生影响,如update a set b='c',d='e',如用户在C字段输入f'--则整个语句变成了update a set b='f'--',d='e'由于--起注释作用~~~想一想会起什么后果
    应该用recordset组件来做好一些
    set rs=server.createobject("adodb.recordset")
    ...
    看看网上有关的资料吧