在ASP.NET Web窗体中从LocalDB检索数据

本文关键字:LocalDB 检索 数据 窗体 ASP NET Web | 更新日期: 2023-09-27 18:28:43

我使用一个简单的webforms应用程序从LocalDb'v11.0本地检索要绑定到GridView控件中的数据。我在App_Data文件夹中创建了MyDb.sdf和一个名为info的表。我得到以下错误

发生与网络相关或特定于实例的错误建立与SQL Server的连接。找不到服务器或无法访问。验证实例名称是否正确,以及SQL Server已配置为允许远程连接。(提供程序:SQL网络接口,错误:26-定位服务器/实例时出错指定)

Web.config:

<connectionStrings>    
    <add name="dbcs"
         connectionString="Data Source=(LocalDB)'v11.0;AttachDbFileName=|DataDirectory|'MyDb.sdf;Integrated Security=True"
         providerName="System.Data.SqlClient" />
</connectionStrings>

HTML

<form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server"></asp:GridView>
    </div>
    </form>

后端代码

protected void Page_Load(object sender, EventArgs e)
{
    string con = WebConfigurationManager.ConnectionStrings["dbcs"].ConnectionString;
    using (SqlConnection scon = new SqlConnection(con))
    {
        SqlCommand cmd = new SqlCommand("select * from info", scon);
        scon.Open();
        GridView1.DataSource = cmd.ExecuteReader();
        GridView1.DataBind();
        scon.Close();
    }
}

在ASP.NET Web窗体中从LocalDB检索数据

您的连接字符串和代码(使用SqlConnection)适用于SQL Server的完整版本(Express、Web、Standard、Enterprise),而.sdf数据库文件适用于SQL ServerCompact Edition

这两种技术不兼容。不能.sdf数据库文件附加到(LocalDB)'v11.0 LocalDB实例,它必须是.mdf文件。

使用realSQL Server(在SQL Server实例中创建数据库)和当前代码,或者在代码中切换到使用SqlCeConnectionSqlCeCommand