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 \ failed。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlClient.SqlException:尝试为文件E附加自动命名的数据库:\ Study materials \ Mobile Shop \ App_Data \ failed。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。
答案 0 :(得分: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");
^^^^^^^^^^^^