如何给ADO.NET参数

How to give ADO.NET Parameters

我想创建一个 SQL 命令来将记录添加到数据库。我尝试了以下代码,但它似乎不起作用:

SqlCommand comand = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
SqlParameter ppar = new SqlParameter();
ppar.ParameterName = "@Product_Name";
ppar.Value = textBox1.Text;
MessageBox.Show("Done");
comaand.Parameters.Add(ppar);

在您的情况下,看起来您使用的是 .NET。使用参数非常简单:

C#

 string sql = "SELECT empSalary from employee where salary = @salary";
 SqlConnection connection = new SqlConnection(/* connection info */);
 SqlCommand command = new SqlCommand(sql, connection);

 command.Parameters.AddWithValue("salary", txtSalary.Text);

试试这个

command.Parameters.AddWithValue("@parameter",yourValue);
command.ExecuteNonQuery();

我的意思是你忘了使用 command.executeNonQuery();

我觉得这对你有用

SqlCommand command = new SqlCommand("inserting", con);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@Firstname", SqlDbType.NVarChar).Value = TextBox1.Text;
command.Parameters.Add("@Lastname", SqlDbType.NVarChar).Value = TextBox2.Text;
command.ExecuteNonQuery();

应该使用如下内容:

SqlCommand cmd = new SqlCommand("INSERT INTO Product_table Values(@Product_Name, @Product_Price, @Product_Profit, @p)", connect);
cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar, ProductNameSizeHere).Value = txtProductName.Text;
cmd.Parameters.Add("@Product_Price", SqlDbType.Int).Value = txtProductPrice.Text;
cmd.Parameters.Add("@Product_Profit", SqlDbType.Int).Value = txtProductProfit.Text;
cmd.Parameters.Add("@p", SqlDbType.NVarChar, PSizeHere).Value = txtP.Text;
cmd.ExecuteNonQuery();

假设@p 参数是一些 NVarChar。

最好避免使用 AddWithValue,请在此处查看原因: https://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/

同样在 INSERT SQL 语句中最好在值本身之前提供值的名称(如数据库中定义的),如 https://www.w3schools.com/sql/sql_insert.asp

所示