使用C#Web.config文件连接到Access数据库

使用C#Web.config文件连接到Access数据库,c#,asp.net,ms-access,ms-access-2013,C#,Asp.net,Ms Access,Ms Access 2013,我使用的是MS Access 2013数据库名称为“comm”,密码为“xyz@12345" Web.config连接字符串: <add name="commconn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:/ee/comm.accdb; Jet OLEDB:Database Password=xyz@12345;" /> 当我运行我的网站时,它只在我的DropDownList绑定数

我使用的是MS Access 2013数据库名称为“comm”,密码为“xyz@12345"

Web.config连接字符串:

<add name="commconn" connectionString="Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:/ee/comm.accdb; Jet OLEDB:Database Password=xyz@12345;" />

当我运行我的网站时,它只在我的DropDownList绑定数据的地方给出一个错误,错误是 “不是有效的密码。”

我使用以下代码绑定我的DropDownList:

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="AccessDataSource1" DataTextField="share_amt" DataValueField="ID">
</asp:DropDownList>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/comm.accdb" SelectCommand="SELECT * FROM [share_amt] ORDER BY [ID]">
</asp:AccessDataSource>


我正在使用MS Access 2013数据库和ASP.Net与C#。

看来您的问题的症结在于:

  • 在Web.config中,您已经为名为“comm.accdb”的密码保护Access数据库创建了名为
    commconn
    的数据连接,但是
  • 您尝试使用AccessDataSource填充DropDownList,AccessDataSource通过
    DataFile=
    参数直接引用Access数据库;
    commconn
    数据连接与此无关
  • 此外,MSDN文章

    说:

    AccessDataSource不会连接到受密码保护的Access数据库;要从受密码保护的Access数据库检索数据,请使用SqlDataSource控件

    因此,对于App_数据文件夹中名为“comm.accdb”的受密码保护的Access数据库,您需要在Web.config中输入如下内容:

    
    
    在您的.aspx页面上还有类似的内容:


    看来问题的症结在于:

  • 在Web.config中,您已经为名为“comm.accdb”的密码保护Access数据库创建了名为
    commconn
    的数据连接,但是
  • 您尝试使用AccessDataSource填充DropDownList,AccessDataSource通过
    DataFile=
    参数直接引用Access数据库;
    commconn
    数据连接与此无关
  • 此外,MSDN文章

    说:

    AccessDataSource不会连接到受密码保护的Access数据库;要从受密码保护的Access数据库检索数据,请使用SqlDataSource控件

    因此,对于App_数据文件夹中名为“comm.accdb”的受密码保护的Access数据库,您需要在Web.config中输入如下内容:

    
    
    在您的.aspx页面上还有类似的内容: