2016-12-09 113 views
1
using (Connection = new SqlConnection(connectionstring))     
{ 
    SqlCommand voegtoe = new SqlCommand("INSERT INTO Speler(Naam, Rugnummer, Leeftijd) VALUES(@Naam, @Rugnummer, @Leeftijd)"); 

    voegtoe.CommandType = CommandType.Text; 
    voegtoe.Connection = Connection; 
    voegtoe.Parameters.AddWithValue("@Naam", textBox1.Text); 
    voegtoe.Parameters.AddWithValue("@Rugnummer", textBox2.Text); 
    voegtoe.Parameters.AddWithValue("@Leeftijd", textBox3.Text); 

    Connection.Open(); 
    voegtoe.ExecuteNonQuery();    
} 

。我認爲它應該添加文本用戶放置在文本框中。無法如果我打開我的數據庫沒有什麼添加到它插入到SQL Server數據庫

連接字符串:

Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirector‌​y|\Speler.mdf;Integr‌​ated Security=True 
+2

檢查你的情況是否像這裏描述的情況http://stackoverflow.com/questions/17147249/why-saving-changes-to-a-database-失敗/ 17147460#17147460 – Steve

+0

將它與try-catch環繞並在catch中設置斷點 –

+0

您是否定位了正確的數據庫?你的連接字符串是什麼?您是否試圖存儲在基於文件的數據庫中? –

回答

0

會發生什麼事時,你的查詢已不能運行?如果你會得到一個例外,你必須重試你的插入。

ExecuteNonQuery()方法能夠返回插入的行的數量。

+2

如果選中了*錯誤*數據庫,則100次重試無效。用戶實例數據庫就是這種情況。順便說一句,這應該是一個評論 –

+0

我沒有看到其他評論,而輸入此。是的,你說得對。這應該也是評論:) –

2

沒有什麼錯的代碼。我懷疑你的連接字符串使用用戶實例數據庫,即它的AttachDBFilenameUser Instance=true關鍵字:

Data Source=.\SQLEXPRESS; AttachDBFilename=|DataDirectory|\db.mdf; User Instance=true;... 

這意味着,任何試圖連接到數據庫文件中的每個用戶得到他自己的副本。當您嘗試使用SSMS檢查數據時,您會看到不同的數據庫副本。

除了造成混淆,此功能已取消,將在未來被移除。

在你的數據庫服務器只需創建一個適當的數據庫,並通過指定名稱連接到它:

​​

可以在SSMS創建從New Database菜單數據庫要麼,或用CREATE DATABASE MyDB命令

你可以在Bad habits : Using AttachDBFileName由Aaron Bertrand找到更多的信息

相關問題