我正在尝试将信息保存到我创建的本地sqldatabase以接受进程的丢失事件。但是我目前的问题不是关于代码的错误消息,而是关于数据库本身我认为。错误消息框显示“尝试为文件C附加自动命名的数据库:[数据库文件位置]失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享中“。 我看了别的地方,但没有直接关系到我的问题/或已经工作。 现在把我的头发拉出来!提前谢谢。
我的代码是:
private void button1_Click(object sender, EventArgs e)
{
string constring = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=c: \\users\\user\\documents\\visual studio 2015\\Projects\\LossApplication\\LossApplication\\LossDB.mdf;Integrated Security=True; ";
string query=" insert into LossDB.LossTable (lossid,Equipment, Event, responsinility, start) values(@lossid, @equipment, @Cause, @reason, @start) ;";
SqlConnection conLossDB = new SqlConnection(constring);
SqlCommand cmdLossDB = new SqlCommand(query, conLossDB);
cmdLossDB.Parameters.AddWithValue("@lossid", textBox1.Text);
cmdLossDB.Parameters.AddWithValue("@Equipment", comboBox1.Text);
cmdLossDB.Parameters.AddWithValue("@Cause", comboBox2.Text);
cmdLossDB.Parameters.AddWithValue("@Reason", comboBox3.Text);
cmdLossDB.Parameters.AddWithValue("@start", dateTimePicker1.Text);
SqlDataReader myReader;
try
{
conLossDB.Open();
myReader = cmdLossDB.ExecuteReader();
MessageBox.Show("Loss Entry Saved");
conLossDB.Close();
while (myReader.Read())
{
}
}catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答案 0 :(得分:0)
在您的连接字符串中,使用初始目录而不是 AttachDbFilename
string constring = "Data Source=(LocalDB)\MSSQLLocalDB;
Initial Catalog = c: \users\user\documents\visual studio 2015\Projects\LossApplication\LossApplication\LossDB.mdf;
Integrated Security=True; ";
即使我遇到了这个问题,上面的代码也解决了。