1
protected void Button1_Click(object sender, EventArgs e)
{
    if (TextName.Text != "" && TextPass.Text != "" && TextRePass.Text != "" && TextAddr.Text != "" && TextPhn.Text != "")
    {
        SqlConnection i = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Study materials\Mobile Shop\App_Data\;Integrated Security=True;User Instance=True");
        i.Open();
        string q = "insert into Register values ('" + TextName.Text + "','" + TextRePass.Text + "','" + TextAddr.Text + "','" + TextPhn.Text + "','" + Label1.Text + "','" + Label2.Text + "')";

        SqlCommand cmd = new SqlCommand(q, i);
        cmd.ExecuteNonQuery();
        Label3.Text = "DETAILS ENTERED SUCCESSFULLY IN THE DATABASE!!";
    }
    else
    {
        Label4.Text = "ALL FIELDS ARE MANDATORY";
    }
}

我在这里有一个错误:

i.Open(); 

错误是:

尝试为文件 E:\Study materials\Mobile Shop\App_Data\ 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:尝试为文件 E:\Study materials\Mobile Shop\App_Data\ 附加自动命名数据库失败。存在同名数据库,或无法打开指定文件,或位于 UNC 共享上。

4

1 回答 1

1

您需要连接字符串中的数据库名称:

SqlConnection i = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Study materials\Mobile Shop\App_Data\<DB Name Here>;Integrated Security=True;User Instance=True");
                                                                                                                           ^^^^^^^^^^^^
于 2013-09-22T06:39:53.893 回答