簡體   English   中英

SQL 命令 INSERT 正在運行,但數據未出現在表中

[英]SQL command INSERT is working but the data not appear in table

我正在使用 MS VS 2010 Express Edition 在 Visual C#.NET 中像這樣執行 SQL 命令INSERT

private void btnAdd_Click(object sender, EventArgs e)
{
     SqlConnection con = new SqlConnection(Properties.Settings.Default.loginDBConnectionString);
     con.Open();
     SqlCommand cmd = new SqlCommand("INSERT INTO tblEmp (ID, firstname, lastname, email, position) VALUES ('"+textBox1.Text+"','"+textBox2.Text+"', '"+textBox3.Text+"', '"+textBox4.Text+"', '"+comboBox1.Text+"')", con);
     cmd.ExecuteNonQuery();
     con.Close();
     MessageBox.Show("Data Added!");
}

執行此操作時,出現MessageBox ,表示執行成功。 但是,當我查看 table 時,我之前嘗試插入的數據根本沒有出現。

我有一個數據庫( loginDB.mdf ),里面有 2 個表: - TblLogin - 包含用於登錄目的的usernamepassword ,成功執行。 - tblEmp - 包含員工數據,這是我嘗試向其中插入數據的數據。

我不明白的是為什么MessageBox在實際上沒有插入到我的tblEmp

編輯ConnectionStringloginDB.mdf

Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\Andreas\documents\visual studio 2010\Projects\LoginApplication\LoginApplication\loginDB.mdf";Integrated Security=True;User Instance=True

數據庫名稱是loginDB.mdf而不是之前編寫的logindatabase.mdf 我將其更改為loginDB.mdf只是為了測試它,但仍然沒有出現任何更改。

如果您的 c# 代碼執行時沒有任何異常,它也會更新數據庫。 您可能在ConnectionString使用了AttachDbFilename=|DataDirectory|\\yourDB.mdf ,這意味着更新的數據庫位於項目的子文件夾BIN\\DEBUG文件夾中。 如果您想查看更新的數據,只需附加位於 ssms 中bin/debug文件夾中的數據庫。 有關更多詳細信息,請閱讀這篇文章。 還要確保服務器資源管理器中的表尚未打開,如果它已經打開,則必須刷新它以顯示更新的數據。 請注意:如評論中所述,您應該始終使用參數化查詢來避免Sql Injection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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