首页 > 解决方案 > 如何在 C# 中向数据库中插入数据

问题描述

我刚刚开始学习数据库,实际上我不知道为什么下面的代码不起作用。我搜索了很多,但我没有意识到到底发生了什么。

我有一个 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!");

标签: c#sql-serverwinformsado.netsql-insert

解决方案


因为你还没有执行你的命令:

....
cmd.Parameters.AddWithValue("@lname", textBox2.Text);

cmd.ExecuteNonQuery();

您的声明的固定版本insert应该是这样的:

"INSERT INTO tesTable (fname,lname) VALUES (@fname,@lname)"

这还需要添加,直接指定类型并使用Value属性比AddWithValue

cmd.Parameters.Add("@lname", SqlDbType.VarChar).Value = textBox2.Text;

我们可以停止使用 AddWithValue() 了吗?


推荐阅读