c# - SQL Server INSERT 命令不插入数据

标签 c# sql sql-server database insert

我想将一些文本框的内容插入到 SQL Server 数据库中。

这是我使用的代码:

SqlConnection myConn = new SqlConnection(myConnection);
myConn.Open();

SqlCommand InsertCommand = new SqlCommand("INSERT INTO invmgmt.Products (product_id, product_name, product_price, possible_discount, product_in_stock) VALUES ('" + Convert.ToInt32(tbAddProdID.Text) + "','" + tbAddProdName.Text + "','" + Convert.ToDouble(tbAddProdPrice.Text) + "','" + Convert.ToInt32(tbAddPblDiscount.Text) + "','" + Convert.ToInt32(tbAddInStock.Text) + "')");

myConn.Close();

如果我执行它,数据库没有任何反应,有人知道该怎么做吗?我尝试了其他一些 Insert 命令,但没有任何效果。

最佳答案

您必须将连接与您的命令相关联,然后执行您的查询:

InsertCommand.Connection = conn;
InsertCommand.ExecuteNonQuery();

一些其他的事情:

  • 不要使用字符串连接来创建 SQL 查询。在查询中使用参数。请参阅:SqlCommand.Parameters否则你很容易SQL Injection
  • using 中包含您的连接和命令对象陈述。

关于c# - SQL Server INSERT 命令不插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25574948/

相关文章:

c# - 如何实现模型以强制客户端至少填写 ASP.NET MVC 中的两个输入之一

c# - 在 C# 中使用继承而不是名称别名是否正确?

c# - count++和++count,什么时候用哪个?

sql-server - 导出到 Excel 文件时,如何删除 SSIS 插入的列标题行?

asp.net - 将 varchar 转换为 int 数据类型时转换失败 : SQL

c# - 为什么存储过程输出参数没有被 Entity Framework 的 ExecuteSqlCommand 方法读取?

mysql - 如何修复 "Too many keys specified; max 1 keys allowed"错误?

sql - 如果 WHERE 子句包含未索引的列,是否使用索引

mysql - 计算日期范围内的天数并求和

sql-server - SP_Who 不返回 DBName 列