Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 执行以下c代码时出错_C# - Fatal编程技术网

C# 执行以下c代码时出错

C# 执行以下c代码时出错,c#,C#,我曾尝试使用以下代码删除表中的一行,但出现错误 {System.Data.OleDb.OleDbException: Missing ), ], or Item in query expression '[CompanyID] not in (Select [CompanyID] from EmployeeDetails where [CompanyID] = @cmpID'. 这是我的密码: int companyID = _cmpDetailsList[i].CompanyID;

我曾尝试使用以下代码删除表中的一行,但出现错误

{System.Data.OleDb.OleDbException: Missing ), ], or Item in query expression 
'[CompanyID] not in (Select [CompanyID] from EmployeeDetails 
where [CompanyID] = @cmpID'.
这是我的密码:

int companyID = _cmpDetailsList[i].CompanyID;        
OleDbCommand upcmd = new OleDbCommand(
    "delete * from CompanyDetails where [CompanyID] not in " + 
    "(Select [CompanyID] from EmployeeDetails where [CompanyID] = @cmpID", conn);
conn.Open(); 
upcmd.Parameters.AddWithValue("@cmpID", companyID);
upcmd.ExecuteNonQuery();
conn.Close();
我将命令修改为此格式

OleDbCommand upcmd = new OleDbCommand("delete * from CompanyDetails where [CompanyID]= @cmpID and not in (Select [CompanyID] from EmployeeDetails where [CompanyID] = @cmpID)", conn);
我犯了以下错误

System.Data.OleDb.OLEDBEException:语法错误,查询表达式“[CompanyID]=@cmpID”中缺少运算符,而不在从EmployeeDetails中选择[CompanyID]=@cmpID”的[CompanyID]中


请解决它

如果您看到错误,它会告诉您问题:

OleDbCommand upcmd = new OleDbCommand(
"delete from CompanyDetails where [CompanyID] not in " + 
"(Select [CompanyID] from EmployeeDetails where [CompanyID] = @cmpID)", conn);

您有一个错误,但最后没有匹配项。

如果您看到错误,它会告诉您问题:

OleDbCommand upcmd = new OleDbCommand(
"delete from CompanyDetails where [CompanyID] not in " + 
"(Select [CompanyID] from EmployeeDetails where [CompanyID] = @cmpID)", conn);

您的结尾有一个,但没有匹配。

它适用于案例选择*用于删除其整个行,因此只需从中删除…它适用于案例选择*用于删除其整个行,因此只需从中删除…删除*从对访问有效…不确定op使用了什么,尽管+1如果可以添加的话,还有一件事是@string的用法literal可以使查询更容易阅读并发现缺少的大括号,好的是OP使用参数delete*from对访问有效…不确定OP使用的是什么,但是+1如果可以添加的话,还有一件事是@string literal的使用,它可以使查询更容易阅读并发现缺少的大括号,好的方面是使用参数