繁体   English   中英

在数据库中删除时,没有给出一个或多个必需参数错误的值

[英]No value given for one or more required parameters error while deleting in database

每次我在我的数据库上执行DELETE查询时,会出现以下错误:

没有给出一个或多个必需参数的值

我检查名称但仍然有错误。 以下是用于执行查询的代码:

connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "delete FROM Accounts WHERE Id_No = " + IdNoBox.Text + "";
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Successfully Deleted");
this.Close();
connection.Close();

假设Id_No是字符串,它应该用单引号括起来。否则,它将被视为参数。 查询应该string query = "delete FROM Accounts WHERE Id_No = "'" + IdNoBox.Text + "'";

为了解决所询问的具体问题,如果Id_No是基于字符的,则应该有单引号。 出于可读性考虑,请考虑以下语法。

string query = string.Format("delete FROM Accounts WHERE Id_No = '{0}' ", IdNoBox.Text);

另请注意,应正确处理连接/命令,包括发生异常的情况。 一个简单的方法是使用using子句。 见下文。

using (var connection = new OleDbConnection())
using (var command = new OleDbCommand(){Connection = connection,CommandText = query})
{
    connection.Open();
    command.ExecuteNonQuery();
}
MessageBox.Show("Successfully Deleted");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM