簡體   English   中英

無法插入到SQL Server數據庫

[英]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=|DataDirector‌​y|\Speler.mdf;Integr‌​ated Security=True

代碼沒有錯。 我懷疑您的連接字符串使用了用戶實例數據庫,即它具有AttachDBFilenameUser 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM