And*_*ono 3 c# sql-server ado.net insert sql-server-express
我正在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!");
}
Run Code Online (Sandbox Code Playgroud)
执行此操作时,MessageBox显示 ,这意味着执行成功。但是,当我查看 table 时,我之前尝试插入的数据根本没有出现。
我有一个数据库 ( loginDB.mdf),里面有 2 个表: - TblLogin- 包含username并password用于成功执行的登录目的。- tblEmp- 包含员工数据,这是我尝试插入数据的数据。
我不明白的是为什么MessageBox实际上没有插入到我的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
Run Code Online (Sandbox Code Playgroud)
数据库名称loginDB.mdf不是logindatabase.mdf以前写的。我把它改成loginDB.mdf只是为了测试它,但仍然没有出现任何变化。
如果您的 c# 代码执行时没有任何异常,它也会更新数据库。您可能AttachDbFilename=|DataDirectory|\yourDB.mdf在您的 中使用过ConnectionString,这意味着更新的数据库位于BIN\DEBUG您项目的子文件夹中。如果您想查看更新的数据,只需附加位于bin/debugssms 文件夹中的数据库。有关更多详细信息,请阅读这篇文章。还要确保服务器资源管理器中的表尚未打开,如果它已经打开,则必须刷新它以显示更新的数据。请注意:如评论中所述,您应该始终使用参数化查询来避免Sql Injection.
| 归档时间: |
|
| 查看次数: |
11588 次 |
| 最近记录: |