【发布时间】:2019-08-11 07:56:57
【问题描述】:
我刚刚开始学习数据库,实际上我不知道为什么下面的代码不起作用。我已经搜索了很多,但我没有意识到到底发生了什么。
我有一个 Windows 窗体应用程序,其中有一个 textbox 和一个 button。当我点击按钮时,textbox 中的文本应该会插入到数据库中,但实际上没有发生任何事情。
我使用 Visual Studio 创建了数据库。我在 Visual Studio 2019 社区版的服务器资源管理器中右键单击“数据连接”,然后单击“创建新的 SQL Server 数据库”。
using (SqlConnection con = new SqlConnection("Data Source = (localdb)\\mssqllocaldb; Initial Catalog = myTestDB; Integrated Security = True; Pooling = False"))
{
con.Open();
SqlCommand cmd = new SqlCommand("INSER INTO [tesTable] VALUES (@fname, @lname)", con);
cmd.Parameters.AddWithValue("@fname", textBox1.Text);
cmd.Parameters.AddWithValue("@lname", textBox2.Text);
}
MessageBox.Show("done!");
【问题讨论】:
-
在数据库端发生任何事情之前需要执行命令。附带说明一下,您使用了 INSERT 命令,但未命名所涉及的列。这要求数据库表具有完全相同的列数,并且与添加参数的顺序完全相同
-
我建议在执行查询后检查查询 Sql Profiler,以了解正在执行的确切查询。
-
您应该查看Can we stop using AddWithValue() already? 并停止使用
.AddWithValue()- 它可能会导致意想不到和令人惊讶的结果...
标签: c# sql-server winforms ado.net sql-insert