我正在做一个涉及将数据添加到现有数据库行的Web应用程序,在我的情况下我想要它,当我点击一个按钮时,数据将插入到具有NULL值的列中。
我有一个页面,用户可以选择参加游览的日期和人数,当他们点击“立即预订”按钮时,应该将日期和人员数据添加到数据库中。
但是,当我点击按钮时,此错误显示为:
System.Data.SqlClient.SqlException: 'An attempt to attach an auto-named database for file C: \Users\xxx\Documents\xxx\Project\App_Data\Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.'
我的朋友说要解决这个错误,我需要删除我当前的数据库并重新重做整个数据库,但我发现它非常耗时且乏味,因为我已经建立了一个大数据库。
这是我对按钮的代码:
protected void bookBtn_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C: \Users\xxx\Documents\XXX\Project\App_Data\Database.mdf;Integrated Security=True");
//SqlCommand cmd = new SqlCommand("Booking",con);
//not sure if this is correct
SqlCommand cmd = new SqlCommand("Update Tours set date = + '"+dateTextbox.Text+"', person = '"+personDLL.Text+"' Where tourName=@tourName");
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("date", dateTextbox.Text);
cmd.Parameters.AddWithValue("person", personDLL.Text);
con.Open(); //error here
int k = cmd.ExecuteNonQuery();
if (k != 0)
{
lblmsg.Text = "Record Inserted Succesfully into the Database";
lblmsg.ForeColor = System.Drawing.Color.CornflowerBlue;
}
con.Close();
}
有什么办法可以解决以下错误,而无需重做我的整个数据库?
*我只有一个数据库,没有重复数据库
*由于我没有10个声望,stackOverflow不允许我上传图片以便更好地说明,对不起
答案 0 :(得分:0)
尝试使用'初始目录'而不是像你这样的连接字符串中的AttachDbFilename:
RelativeLayout
答案 1 :(得分:0)
由于它是SQL数据库,您的连接字符串应该看起来像......
Data Source =。\ SQLEXPRESS; Database =; Integrated Security = True
这将引用sql server实例并找到你提到的数据库 “您的数据库名称”
还想参考数据库的完整路径!! 查看此现有帖子:A database with the same name exists, or specified file cannot be opened, or it is located on UNC share