[英]Unable to insert to SQL Server database
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();
}
如果打開數據庫,則不會添加任何內容。 我認為它應該添加用戶在文本框中輸入的文本。
連接字符串為:
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Speler.mdf;Integrated Security=True
代碼沒有錯。 我懷疑您的連接字符串使用了用戶實例數據庫,即它具有AttachDBFilename
和User Instance=true
關鍵字:
Data Source=.\SQLEXPRESS; AttachDBFilename=|DataDirectory|\db.mdf; User Instance=true;...
這意味着每個嘗試附加到數據庫文件的用戶都將獲得自己的副本。 當您嘗試使用SSMS檢查數據時,您會看到數據庫的另一個副本。
除了造成混亂之外,不建議使用此功能,以后將刪除該功能。
只需在數據庫服務器中創建一個適當的數據庫並通過指定其名稱來連接到它:
Data Source=.\SQLEXPRESS; Initial Catalog=MyDB;...
您可以從SSMS的“ New Database
菜單或使用CREATE DATABASE MyDB
命令CREATE DATABASE MyDB
您可以在“ 不良習慣”中找到更多信息: Aaron Bertrand 使用AttachDBFileName
當您的查詢無法運行時會發生什么? 如果出現異常,則必須重試插入。
ExecuteNonQuery()
方法能夠返回插入的行數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.