当我使用此代码时,它会返回表中的每一行,我不知道为什么。
string SelectOleDb = "SELECT Top 1 * From `Employee Info` Where [Employee Name]=@EmployeeName" Order By ID DESC";
OleDbConnection OleDbCon = new OleDbConnection(EmployeeInfo.Properties.Settings.Default.cstrEmployeeInfoDatabase);
OleDbDataAdapter OleDbAdpt = new OleDbDataAdapter();
OleDbCommand OleDbCom = new OleDbCommand(SelectOleDb, OleDbCon);
OleDbCom.Parameters.AddWithValue("@EmployeeName", employee_NameComboBox.Text);
OleDbAdpt.SelectCommand = OleDbCom;
DataSet FooDS = new DataSet();
OleDbCon.Open();
OleDbAdpt.Fill(FooDS);
OleDbCon.Close();
OleDbCon.Dispose();
DataTable EmployeeInfo = FooDS.Tables[0];
我什至将员工姓名列中的一个值复制粘贴到文本框中,以验证我使用的是有效的员工姓名。如果语句不正确,我希望什么都不会返回,而不是一切。
更新:我还尝试删除命名参数“@EmployeeName”并输入用单引号括起来的硬线名称。然而,仍然声明返回员工信息中的所有内容