我正在尝试在表格中插入值,但是当我点击SignUp按钮时,它会给我错误
尝试为文件Database.mdf附加自动命名的数据库 失败。存在同名的数据库,或指定的文件不能存在 打开,或者它位于UNC分享。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.Data.SqlClient.SqlException:尝试 为文件Database.mdf附加自动命名的数据库失败。一个数据库 存在同名,或指定的文件无法打开,或者它 位于UNC分享。
来源错误:
第22行:string con = ConfigurationManager.ConnectionStrings [“connection”]。ConnectionString;
第23行:SqlConnection conn = new SqlConnection(con);
第24行: conn.Open(); //错误行
第25行:if(selectques.SelectedItem.Text == “写下你自己的问题?”)
第26行:{
我的按钮事件
protected void signup_Click(object sender, EventArgs e)
{
string con = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
SqlConnection conn = new SqlConnection(con);
conn.Open();
if (selectques.SelectedItem.Text == "Write your own question?")
{
SqlCommand cmd = new SqlCommand("insert into registration values('" + username + "','" + passwrd + "','" + emailadd + "','" + alterquestion + "','" + securityanswer + "'", conn);
cmd.ExecuteNonQuery();
conn.Close();
}
else
{
SqlCommand cmd = new SqlCommand("insert into registration values('" + username + "','" + passwrd + "','" + emailadd + "','" + selectques + "','" + securityanswer + "'", conn);
cmd.ExecuteNonQuery();
conn.Close();
}
我的web.config
连接字符串
<configuration>
<appSettings/>
<connectionStrings>
<add name="connection"
connectionString="server=.\sqlexpress; AttachdbFilename=Database.mdf; integrated security=true; user instance=true"/>
</connectionStrings>
答案 0 :(得分:5)
这部分连接字符串错误:
AttachdbFilename=Database.mdf
AttachdbFilename
需要MDF文件的完整路径,而不仅仅是其名称。
来源:
Connecting to SQL Server Express User Instances (ADO.NET)
从链接引用:
AttachDbFileName连接字符串关键字用于附加主数据库文件(.mdf),该文件必须包含完整路径名。
答案 1 :(得分:1)
变化:
AttachdbFilename=Database.mdf
到此:
AttachdbFilename=|DataDirectory|Database.mdf