无法将信息保存到数据库 - UNC共享问题?

时间:2016-09-15 09:58:48

标签: c# sql database

我正在尝试将信息保存到我创建的本地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);
            }
        }

1 个答案:

答案 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; ";

即使我遇到了这个问题,上面的代码也解决了。