Web applications ADODB.记录集错误';800a0bb9';

Web applications ADODB.记录集错误';800a0bb9';,web-applications,asp-classic,Web Applications,Asp Classic,我正在学习经典ASP,似乎无法使我的第一个文件正常工作。我正在尝试将html表单链接到.accdb。有什么建议吗 “声明变量 dim formdate、jsia、jsga、yvcia、yvgia、查询、errorFlag '从表单收集数据 formdate=请求。表单(“日期”) jsia=Request.Form(“jsia”) jsga=Request.Form(“jsga”) yvcia=Request.Form(“yvcia”) yvcga=Request.Form(“yvcga”) '

我正在学习经典ASP,似乎无法使我的第一个文件正常工作。我正在尝试将html表单链接到.accdb。有什么建议吗

“声明变量
dim formdate、jsia、jsga、yvcia、yvgia、查询、errorFlag
'从表单收集数据
formdate=请求。表单(“日期”)
jsia=Request.Form(“jsia”)
jsga=Request.Form(“jsga”)
yvcia=Request.Form(“yvcia”)
yvcga=Request.Form(“yvcga”)
'用于查询的SQL
query=“插入考勤值(formdate、jsia、jsga、yvcia、yvcga)
'创建并打开与数据库的连接
'出现错误时,请继续下一步
设置Connect=Server.CreateObject(“ADODB.Connection”)
Connect.Provider=“Microsoft.ACE.OLEDB.12.0”
Connect.Open(Server.Mappath(“database.accdb”))
'创建记录集
set rs=Server.CreateObject(“ADODB.recordset”)
'在数据库中打开记录集运行查询
rs.打开查询、连接、adOpenStatic、ADOPENOPTIMIZE
'显示消息
回复。填写(“您的表格已收到。谢谢。”)
'关闭记录集和数据库连接
克洛斯
连接,关闭

您的LockTypeEnum值似乎有错误

更改此行

rs.Open query, Connect, adOpenStatic, adOpenOptimistic
…到

rs.Open query, Connect, adOpenStatic, adLockOptimistic

这可能会解决问题。

除了我的同名者在另一个答案中的建议之外,您还需要将查询更改为

query = "INSERT INTO ATTENDANCE VALUES ('"&formdate&"', '"&jsia&"', '"&jsga&"', '"&yvcia&"', '"&yvcga&"');"
单引号的存在是因为在SQL查询中需要将字符串和日期时间值放在单引号内,而符号和双引号的存在是因为将变量连接到insert查询中需要这样做

一旦你有了它的工作,我强烈建议你看看如何保护你的插入免受SQL注入攻击

我还建议您按照本页中的步骤启用友好的错误消息-它们将帮助您确定脚本中哪些内容不起作用


谢谢你的回复,我实际上犯了不少错误

我没有为我的对象(rs和Connect)声明变量

此外,我没有将我的页面链接到我的.inc文件所在的公用文件夹


再次感谢

您需要使用表单值构建查询。您还需要使用ado命令或连接来运行insert语句。请参阅。