新微赢技术网

标题: [求助]asp中写入数据库出错 [打印本页]

作者: 天地之一    时间: 2010-1-8 05:19
标题: [求助]asp中写入数据库出错
<%

set conn=server.createObject("ADODB.Connection")
dbpath=server.mappath("../mdba/news.asp")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
set rs=server.createobject("adodb.recordset")


conn.execute insert into news(classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)values("a","b","c","j","d","e","f","g",h,"i")

%>

这段代码中问题出在conn.execute insert intonews(classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)values("a","b","c","j","d","e","f","g",h,"i")这一句代码中,老是出错,说语句未结束.这其中a,b,c,d,e,f,g,j是一个字符型变量,h是时间变量,i是注释型变量.这几个变量的值都是从另一个数据库中得来.
请高手们帮帮忙,看一下是怎么回事,小弟是一个新手.最好能把正确的代码写出来.先谢谢了!!!
作者: ωǒ吥婲鈊┌    时间: 2010-1-8 05:19
('"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')
这里面需要根据字段类型修改,如果是数字型的就不能 '"&a&"' 了,而应该去掉两头的“'”
作者: 駃旒_鎏蒗瀦    时间: 2010-1-8 05:19
不好意思,小弟刚才试了一下,好象还是不行.

1.用conn.Executeinsert into news classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)
values('"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')时,"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')全成了注释,可能是前面有一个"'"的原因.

然后我改用第二种方法:
strsql="insert into news(classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)values('"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')"
Set rs=conn.Execute(strSql)
结果还是一样,说语法未完.


这是怎么回事呢?请恕小弟愚钝!!
作者: の瘋がす贪恋    时间: 2010-1-8 05:19
为什么要加个trim??

防止注入么??
作者: ┈ㄝai〾噯儿    时间: 2010-1-8 05:19
谢了,楼上的几位兄弟,我先去试一试.小弟刚学ASP不久,入门都还谈不上,今后一定虚心向各位学习.
作者: 追风少年    时间: 2010-1-8 05:19
trim去掉空格,防止出错
作者: $星辰    时间: 2010-1-8 05:19
ASP学多久了?
conn.execute insert intonews(classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)values('"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')
作者: 龍2132    时间: 2010-1-8 05:19
细心一点好不好?
strsql="insert into news(classfication,title,accessory,imagesname,key1,key2,reporter,lookfrom,newsdate,content)values('"&a&"','"&b"'&,'"&c&"','"&j&"','"&d&"','"&e&"','"&f&"','"&g&"',"&h&",'"&i&"')"

红色部分 改成 '"&b&"'
作者: 嫣幻霏然    时间: 2010-1-8 05:19
("a","b","c","j","d","e","f","g",h,"i")应该改成('"&amp;a&amp;"','"&amp;b&amp;"'),我在做这一步的时候也经常错,注意你的书写格式.
作者: ┈ㄝai〾噯儿    时间: 2010-1-8 05:19
set rs=server.createobject("adodb.recordset")
rs.open "select * from news",conn,1,3
rs.addnews
rs("classfication")=trim(request.form("classfication"))
..
..
....
rs.Update
rs.close
set rs=nothing
这样写比较好




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2