SQL命令INSERT正在工作,但是数据没有出现在表中

本文关键字:数据 INSERT 命令 工作 SQL | 更新日期: 2023-09-27 18:04:30

我在Visual c#中执行这样的SQL命令INSERT。. NET使用MS VS 2010 Express Edition:

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显示,这意味着执行成功。但是,当我检查表时,我之前试图插入的数据根本没有出现。

我有一个数据库(loginDB.mdf),里面有2个表:—TblLogin—包含usernamepassword,用于成功登录。- tblEmp -包含员工数据,这是我试图插入数据的一个。

我不明白的是为什么MessageBox出现时,实际上没有插入到我的tblEmp

EDIT: ConnectionString to loginDB.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只是为了测试它,但仍然没有出现任何更改。

SQL命令INSERT正在工作,但是数据没有出现在表中

如果你的c#代码执行没有任何异常,它也会更新数据库。您可能在ConnectionString中使用了AttachDbFilename=|DataDirectory|'yourDB.mdf,这意味着更新的数据库位于项目的子文件夹BIN'DEBUG文件夹中。如果您想查看更新的数据,只需附加位于ssms中bin/debug文件夹中的数据库。要了解更多细节,请阅读这篇文章。还要确保服务器资源管理器中的表尚未打开,如果它已打开,则必须刷新它以显示更新的数据。请注意:正如评论中提到的,您应该始终使用参数化查询以避免Sql Injection