一尘不染

SQL命令INSERT正在工作,但数据未显示在表中

c#

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

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

编辑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仅用于测试,但仍未显示任何更改。


阅读 527

收藏
2020-05-19

共1个答案

一尘不染

如果您的c#代码无任何例外地执行,它也会更新数据库。您可能已AttachDbFilename=|DataDirectory|\yourDB.mdf在中使用ConnectionString,这意味着已更新的数据库位于BIN\DEBUG项目的子文件夹文件夹中。如果要查看更新的数据,只需附加位于bin/debugssms文件夹中的数据库。有关更多详细信息,请阅读这篇文章。另外,请确保服务器资源管理器中的表尚未打开,如果已打开,则必须刷新它以显示更新的数据。请注意:如评论中所述,您应
始终 使用 参数化查询 来避免Sql Injection

2020-05-19