asp代码中执行sql语句的问题

建了一个测试数据库,sql语句拿到Access数据库中执行没问题,在asp代码中执行就出错了,以前学过一些Excel VBA,现在通过asp页面操作数据库,怎么试都不行,到底是哪里出了问题,请大家帮忙看看。

img

数据库文件路径换成绝对路径试试

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    首先,需要排除以下几个可能导致问题的因素: 1. 数据库连接是否正确。 2. SQL语句是否正确。 3. 数据库中是否确实存在相应的表和字段。

    如果确定以上几个因素没有问题,可以尝试以下几个解决方案: 1. 在ASP代码中使用参数化查询,避免SQL注入攻击,同时也能确保参数的类型和格式正确。 例如:

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb"
    Set Cmd = Server.CreateObject("ADODB.Command")
    Cmd.ActiveConnection = Conn
    Cmd.CommandText = "SELECT * FROM mytable WHERE age > ?"
    Cmd.Parameters.Append Cmd.CreateParameter("age", adInteger, adParamInput, , 18)
    Set RS = Cmd.Execute
    
    1. 检查ASPEngine组件的权限和安装情况。 可以在命令行中输入:regsvr32 asp.dll来重新注册ASPEngine组件。
    2. 尝试修改ASP代码的编码方式为UTF-8 BOM,因为Access和ASP默认使用的编码方式可能不一致导致乱码。 可以在ASP文件的开头加入以下代码:
    <%
    Response.CodePage = 65001
    Response.CharSet = "UTF-8"
    %>
    

    如果以上解决方案都不行,可能需要进一步检查ASP代码中的其他问题或者考虑使用其他技术栈来操作数据库。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^