ASP将Session中的值存入Access数据库问题:求高手指点。。。

<%Dimconn,sConnString,sDBPathsDBPath="data/class.mdb"sConnString="Provider=Microsoft.... <%
Dim conn,sConnString,sDBPath
sDBPath="data/class.mdb"
sConnString="Provider=Microsoft.Jet.Oledb.4.0;Data Source="&Server.Mappath(sDBPath)
set conn=Server.CreateObject("ADODB.Connection")
conn.Open sConnString

album=session("username")
qczp=session("qczp")
note=session("qczp")
Dim rs,sql
sql="select * from myphoto"
set rs=server.createobject("adodb.recordset")
rs=conn.Execute("insert into [myphoto] (album,path,note) values('"&album&"','"&qczp&"','"¬e&"')")
%>

或者下面都出问题

<%
Dim conn,sConnString,sDBPath
sDBPath="data/class.mdb"
sConnString="Provider=Microsoft.Jet.Oledb.4.0;Data Source="&Server.Mappath(sDBPath)
set conn=Server.CreateObject("ADODB.Connection")
conn.Open sConnString

Dim rs,sql
set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from myphoto"
rs=conn.Execute("insert into [myphoto](album,path,note) values('"&Session("username")&"','"&Session("qczp")&"','"&Session("qczp")&"')")
%>
展开
 我来答
jiangxibaiyi
2013-05-03 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14411

向TA提问 私信TA
展开全部
set rs=server.createobject("adodb.recordset")

rs=conn.Execute("insert into [myphoto] (album,path,note) values('"&album&"','"&qczp&"','"¬e&"')")

估计问题出在这里
这样改一下:
Set rs = server.createobject("adodb.recordset")
rs.open "select album, path, note from myphoto",conn,1,3
rs.addnew
rs(0)=session("username")
rs(1)=session("qczp")
rs(2)=session("qczp")
rs.update
rs.close()
set rs=nothing

这种写入数据库数据的方式的优点是:
无需理会字段类型,写入的时候自动识别
每个字段不相互影响,也就是,其中一个字段写入失败,不会造成其他字段的写入
缺点是:代码有点繁琐
你那种写入数据库数据方式(insert into)的优点是:
代码简洁,执行一条sql语句即可
缺点是:
需要区分字段类型,文本类型等字段值需要加引号
如果有一个字段或者字段值出现问题,会造成整条sql语句错误而导致整条数据无法写入
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式