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

C# SQL命令INSERT正在工作,但数据未显示在表中,c#,sql-server,insert,ado.net,sql-server-express,C#,Sql Server,Insert,Ado.net,Sql Server Express,我正在使用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 cm

我正在使用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!");
}
执行此操作时,会显示
消息框
,这意味着执行成功。但是,当我检查表时,我之前尝试插入的数据根本没有出现

我有一个数据库(
loginDB.mdf
),里面有两个表: -
TblLogin
-包含用于登录的
用户名
密码
,已成功执行。 -
tblEmp
-包含员工数据,这是我试图插入数据的数据

我不明白的是,为什么在我的
tblEmp
中没有插入任何消息时,会出现
MessageBox

编辑
连接字符串
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
,而不是前面编写的
logindabase.mdf
。我将其更改为
loginDB.mdf
只是为了测试它,但仍然没有出现任何更改。

如果您的c#代码执行时没有任何异常,它也会更新数据库。您可能在
ConnectionString
中使用了
AttachDbFilename=|DataDirectory |\yourDB.mdf
,这意味着更新的数据库位于项目的子文件夹
BIN\DEBUG
文件夹中。如果您想查看更新的数据,只需附加位于ssms中
bin/debug
文件夹中的数据库即可。 欲知更多详情,请阅读帖子。
还要确保服务器资源管理器中的表尚未打开,如果它已打开,则必须刷新它以显示更新的数据。请注意:如评论中所述,您应该始终使用参数化查询,以避免出现问题。请同时显示您的连接字符串。
ID
是插入时自动生成其值的标识列吗?始终使用参数化查询而不是字符串连接来构建sql查询。否则,您就容易受到sql注入的攻击。除了其他事情之外,首先要做的是:停止像那样构建sql。使用参数化SQL可避免SQL注入攻击,避免转换问题,并使代码更具可读性。应始终使用。这种类型的字符串连接对攻击是开放的。您是否曾经将检查作为
ExecuteNonQuery
方法的返回值?它是否准确返回
1
?你的变量是什么?你有没有先在数据库管理器中尝试过你的查询?你也应该为
SqlConnection
(以及其他
IDisposable
s)使用
using
构造。更新:这确实像你说的,我正在Bin\Debug版本中添加数据库,测试后,它出现了。它只显示1个数据,就像数据库只写入最新插入的数据,并丢弃前一个数据一样,因此我添加数据多少次,它只会显示数据库中的1行数据。如何更改?如果您将数据库作为文件包含在项目中,请尝试将数据库的属性设置为“复制到输出目录”。如果我的回答对您有帮助,请将其标记为“已接受”。如果你需要更多的帮助,请告诉我。是的,我终于设法把所有的事情都做好了。非常感谢。