Sql 当有多个条件时,如何从表中删除值?
我正在尝试从index=Textbox1.Text和idnmb=Textbox2.Text的表中删除所有数据 当我删除此部分+”和id_nmb=“+data2时,它可以工作,但不是我想要的 我有以下代码:Sql 当有多个条件时,如何从表中删除值?,sql,oledb,sql-delete,oledbcommand,Sql,Oledb,Sql Delete,Oledbcommand,我正在尝试从index=Textbox1.Text和idnmb=Textbox2.Text的表中删除所有数据 当我删除此部分+”和id_nmb=“+data2时,它可以工作,但不是我想要的 我有以下代码: private void button1_Click(object sender, RoutedEventArgs e) { var data1 = this.textBox1.Text; var data2 = this.tex
private void button1_Click(object sender, RoutedEventArgs e)
{
var data1 = this.textBox1.Text;
var data2 = this.textBox2.Text;
OleDbCommand cmd = new OleDbCommand("DELETE FROM Table WHERE index = " + data1 + "AND idnmb = " + data2 , con);
cmd.Connection = con;
int temp = cmd.ExecuteNonQuery();
if (temp > 0)
{
MessageBox.Show("OK !");
}
else
{
MessageBox.Show("Some error !");
}
}
}
它给了我这样一条信息:没有为一个或多个必需参数提供值。
你知道如何解决这个问题吗?简短的回答可能是,你的字符串前后都需要一个空格。看起来您假设每个文本框中都会输入数字,但您没有强制执行,因此根据这些文本框的内容,可能会出现不同的错误
较长的答案是不要这样做!您正在将代码开放给。使用参数化查询代替。我在前面加了空格,但它给出了相同的错误,只有data1是数字,data2是文本。我该如何执行呢?如果data2是文本,您需要添加引号:“和idnmb=”“+data2+””“非常感谢,我知道我应该使用参数化查询,但我是初学者,所以这就足够开始了。”