我曾嘗試使用以下代碼刪除表中的一行,但出現錯誤。執行以下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;
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.OleDbException :查詢表達式'[CompanyID] = @cmpID且不在(從EmployeeDet中選擇[CompanyID]中的語法錯誤(缺少運算符)其中[CompanyID] = @cmpID)'。
請解決它
它適用於'Select *'用於刪除其整行的情況,所以只是'從...中刪除' – V4Vendetta