gpt4 book ai didi

C#:OleDbCommand 更新查询不起作用?

转载 作者:行者123 更新时间:2023-11-29 12:23:40 26 4
gpt4 key购买 nike

我有一个包含多行和多列的数据库,默认值为 0。用户必须通过在 textBox 中输入列名称来选择列,系统将自动递增中的值该列减 1。

using (OleDbCommand cmd2 = connection.CreateCommand())
{
int i = 1;
cmd2.CommandText = "Update NormalRoom1 SET @time = @time + @b where [Appointment_Date]= @date";
// add parameters
cmd2.Parameters.AddRange(new OleDbParameter[]
{
// a is a string variable that holds a value the user chooses
new OleDbParameter("@time", a),
new OleDbParameter("@b", i),
new OleDbParameter ("@date", dateTimePicker2.Value.ToString("dd/MM/yyyy"))
});
// execute
cmd2.ExecuteNonQuery();
}

最佳答案

只有可以是变量。您的 @time 将是一个列名称,并且不能是变量。尽管我不想这么说:您将需要通过文本格式插入该部分。

这样做时请格外小心,这是 SQL 注入(inject)的攻击媒介。最好的方案是让用户从组合框中进行选择,然后再次根据内部列表检查他的选择。

关于C#:OleDbCommand 更新查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28655513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com