2016-09-15 156 views
0

我試圖將信息保存到我創建的本地sqldatabase以接受進程的丟失事件。然而,我現在的問題不是關於代碼的錯誤消息,而是關於數據庫本身,我認爲。錯誤消息框中說:「嘗試爲文件C:[數據庫文件位置]附加一個自動命名的數據庫失敗。具有相同名稱的數據庫存在,或者指定的文件無法打開,或者它位於UNC共享中「。 我看了其他地方,但沒有直接關係到我的問題/或工作。 現在拉出我的頭髮!提前致謝。無法將信息保存到數據庫 - 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

在您的連接字符串,請使用初始目錄,而不是AttachDbFilename

string constring = "Data Source=(LocalDB)\MSSQLLocalDB; 
Initial Catalog = c: \users\user\documents\visual studio 2015\Projects\LossApplication\LossApplication\LossDB.mdf; 
Integrated Security=True; "; 

即使我面對這個問題,上面的代碼解析。

+0

謝謝你的工作! 但現在我得到一個登錄問題,這是通過在連接字符串的末尾添加用戶名密碼來排序? – Loplac92

+0

如果解決此問題,將其標記爲答案。對於登錄問題,如果您的數據庫僅通過憑據訪問,則必須提供用戶標識和密碼。 –