【问题标题】:How to insert values into microsoft access database through ado code?如何通过ado代码将值插入microsoft access数据库?
【发布时间】:2016-01-15 03:45:39
【问题描述】:

我正在尝试向http://www.w3schools.com/ado/ado_add.asp 学习 ADO。包含我正在使用的 ado 代码的 asp 文件如下所示。当我尝试从我的个人计算机服务器上运行它时,我得到 “没有更新权限!”错误。有谁知道如何通过 ado 代码将值插入 Microsoft Access 数据库表或授予更新权限?

<!DOCTYPE html>
<html>
<body>
<%
    set conn=Server.CreateObject("ADODB.Connection")
    conn.Open "my_db"
    sql="INSERT INTO Name_t VALUES ('4', 'Jason', '5')"  
    on error resume next
    conn.Execute sql,recaffected
    if err<>0 then
        Response.Write("No update permissions!")
    else
    Response.Write("<h3>" & recaffected & " record added</h3>")
    end if
    conn.close
%> 
</body>
</html>   

【问题讨论】:

    标签: database ms-access insert ado


    【解决方案1】:

    您收到 "No update permissions!" 错误,因为这是您在错误部分返回的文本。

    查看实际的错误消息是什么,返回 Err 对象。像这样。

    <!DOCTYPE html>
    <html>
    <body>
    <%
        set conn=Server.CreateObject("ADODB.Connection")
        conn.Open "my_db"
        sql="INSERT INTO Name_t VALUES ('4', 'Jason', '5')"  
        on error resume next
        conn.Execute sql,recaffected
        If Err.Number <> 0 Then
           Response.Write ("Error Updating Database: " & Err.Description & "<br><br>")
        else
          Response.Write("<h3>" & recaffected & " record added</h3>")
        end if
        conn.close
    %> 
    </body>
    </html> 
    

    【讨论】:

    • 运行时出现错误:“更新数据库时出错:[Microsoft][ODBC Microsoft Access Driver] 操作必须使用可更新查询。”问题可能是权限设置。我尝试通过单击 db 所在文件夹的属性来设置权限,并通过我的 Microsoft Office 365 Access 的“用户和权限”部分授予权限(也来自管理员帐户,并确保授予所有管理员权限) .产生了同样的错误。如何让代码更改我的 Microsoft Access 数据库?
    【解决方案2】:

    您可以使用此代码将代码从 html 插入到 Javascript 中的 MS access 数据库中。

    注意:仅适用于 IE,因为 ACTIVEXOBJECT 未在其他浏览器中定义。 仍在尝试解决它。​​

    var pad = "C:\\Users\\yourpathtodb";
      var strConn = "Provider=microsoft.ace.oledb.12.0;Data Source=" + pad;
      var adoConn = new ActiveXObject("ADODB.Connection");
      var adoRS = new ActiveXObject("ADODB.Recordset");
    
      adoConn.Open(strConn);
    
      adoRS.Open("Select * From tableName", adoConn, 1, 3);
    
      adoRS.AddNew;
      adoRS.Fields("field1").value =document.idOfInputTag.value;
    
      adoRS.Close();
      adoConn.Close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 2011-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      相关资源
      最近更新 更多