SQL 命令 INSERT 正在运行,但数据未出现在 table 中
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 个 table:
- TblLogin
- 包含 username
和 password
用于成功执行的登录目的。
- tblEmp
- 包含员工数据,这是我尝试插入数据的数据。
我不明白的是为什么 MessageBox
实际上 none 插入到我的 tblEmp
.
编辑:ConnectionString
到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
只是为了测试它,但仍然没有出现任何变化。
如果您的 C# 代码没有任何异常地执行,它也会更新数据库。您可能在 ConnectionString
中使用了 AttachDbFilename=|DataDirectory|\yourDB.mdf
,这意味着更新的数据库位于项目的子文件夹 BIN\DEBUG
文件夹中。如果您想查看更新后的数据,只需附加位于 ssms 中 bin/debug
文件夹中的数据库即可。
有关详细信息,请阅读 this post。
还要确保服务器资源管理器中的 table 尚未打开,如果它已经打开,您必须刷新它以显示更新的数据。请note:as在评论中提到你应该总是使用参数化查询以避免Sql Injection
.
我正在使用 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 个 table:
- TblLogin
- 包含 username
和 password
用于成功执行的登录目的。
- tblEmp
- 包含员工数据,这是我尝试插入数据的数据。
我不明白的是为什么 MessageBox
实际上 none 插入到我的 tblEmp
.
编辑:ConnectionString
到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
只是为了测试它,但仍然没有出现任何变化。
如果您的 C# 代码没有任何异常地执行,它也会更新数据库。您可能在 ConnectionString
中使用了 AttachDbFilename=|DataDirectory|\yourDB.mdf
,这意味着更新的数据库位于项目的子文件夹 BIN\DEBUG
文件夹中。如果您想查看更新后的数据,只需附加位于 ssms 中 bin/debug
文件夹中的数据库即可。
有关详细信息,请阅读 this post。
还要确保服务器资源管理器中的 table 尚未打开,如果它已经打开,您必须刷新它以显示更新的数据。请note:as在评论中提到你应该总是使用参数化查询以避免Sql Injection
.