2014-03-14 41 views
0

這段代碼沒有錯誤,但是當我插入值時,它們實際上並未插入到數據庫中。 這裏是我的連接字符串類:App.startup路徑在我的Visual Studio項目中不起作用?

 public class DBConn 
    { 

    public static SqlConnection GetConnection() 
    { 

     string sDBPath = Application.StartupPath + @"\App_Data\Database3.mdf"; 

     string connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename='" + sDBPath + "';Integrated Security=True;User Instance=True"; 

     return new SqlConnection(connStr); 
    } 
} 

,並在這個類我所說的連接字符串類:

 string query = "INSERT INTO Table1 VALUES('" + textBox1.Text + "')"; 
     SqlConnection con = DBConn.GetConnection(); 

     SqlCommand com = new SqlCommand(query,con); 
     con.Open(); 
     using (con) 
     { 
      com.ExecuteNonQuery(); 
      MessageBox.Show("Insert"); 
     } 
+0

你檢查sql命令的結果嗎? –

+0

您可以在字符串sDBPath中放置一個斷點,並檢查您獲得的路徑字符串。 –

回答

0
using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
    // Do work here; connection closed on following line. 
} 
  • 不建議您使用using聲明和導線到
    的問題。您必須實例化內的資源對象
    using聲明!它的範圍或生命週期現在僅限於
    語句塊,並且將正確地進行垃圾回收。你的方式
    使用它(通過將已經實例化的對象傳遞到using
    聲明),對象保持有效,雖然由於它沒有正確關閉或處置,因此不能正常訪問 。 MSDN - using statement。因此,您應該創建連接設置(連接字符串)和查詢,並使用 創建連接資源,並在使用語句 中每次需要連接時創建連接並將其傳遞給 (不良做法) 。這種方式的資源是 總是正確處置。提供的鏈接爲您提供了一個 示例如何使用using語句。

  • 如果提供的所有信息都是 有效或提供了所有必需的信息(例如用戶名和密碼),請檢查您的連接字符串。

  • 檢查數據庫的設置(例如權限)

  • SqlConnection類有一個事件稱爲InfoMessage。如果 連接產生任何警告或錯誤,您將會收到通知。

  • 檢查數據庫(例如日誌)是否有錯誤發生。

相關問題