C#选择查询失败,没有错误

时间:2016-04-06 13:46:19

标签: c# select

我遇到一个简单的SELECT查询问题,我看不出它为什么不起作用。

以下是代码:

conn.Open();

string GetPayrollQuery = "SELECT PayrollNo FROM [Employee] WHERE (FirstName + ' ' + LastName) = @Name";    
OleDbCommand GetPayroll = new OleDbCommand(GetPayrollQuery, conn);

GetPayroll.Parameters.AddWithValue("@Name", OleDbType.VarChar).Value = cbbEmployees.Text;

var GotPayroll = GetPayroll.ExecuteNonQuery();

MessageBox.Show(GotPayroll.ToString());

return Convert.ToInt32(GotPayroll);

代码运行正常,但它没有提取数据。任何人都可以看到为什么会这样?

4 个答案:

答案 0 :(得分:0)

我打赌@name将以“MikeSmith”而不是“Mike Smith”的身份出现。

答案 1 :(得分:0)

  1. 确保使用这些参数值在SQL中运行相同的查询。

  2. GetPayroll.ExecuteNonQuery()更改为GetPayroll.ExecuteScalar(),以便返回单个结果。

  3. GetPayroll.Parameters.AddWithValue("@Name", OleDbType.VarChar).Value = cbbEmployees.Text;更改为GetPayroll.Parameters.AddWithValue("@Name", cbbEmployees.Text);

答案 2 :(得分:0)

3件事:

  • 尝试打开SQL分析器并检查您在数据库上执行的内容
  • 检查数据库整理,区分大小写吗?
  • 删除executenonquery(它必须与更新,删除,而不是选择一起使用)并尝试执行标量(如果一行的一个结果被删除,否则尝试填充数据表或使用datareader)

答案 3 :(得分:0)

使用cbbEmployees.SelectedText。解决了这个问题。