SELECT COUNT 个查询错误
SELECT COUNT Query Error
我有这段代码,我正在尝试计算 accessdatabase 数据表 [Holiday] 中具有特定 payrollno 的行数。
string CountHolidayQuery = "SELECT COUNT FROM [Holiday] WHERE PayrollNo = @PayrollNo";
var CountHoliday = new OleDbCommand(CountHolidayQuery, conn);
CountHoliday.Parameters.AddWithValue("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
int TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
我收到此错误,但我认为我已经添加了参数?
Exception thrown: 'System.Data.OleDb.OleDbException' in System.Data.dll
Additional information: No value given for one or more required parameters.
COUNT 的正确语法是
string CountHolidayQuery = @"SELECT COUNT(*)
FROM [Holiday] WHERE PayrollNo = @PayrollNo";
var CountHoliday = new OleDbCommand(CountHolidayQuery, conn);
CountHoliday.Parameters.Add("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
int TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
另请注意,我已将对 AddWithValue 的调用更改为传递的参数的正确添加。考虑到 AddWithValue 应该非常注意使用,因为 it is know as a source for subtle bugs
尝试
string CountHolidayQuery =
@"SELECT COUNT(*)
FROM [Holiday]
WHERE PayrollNo = @PayrollNo";
int TotalHolidays;
using (var CountHoliday = new OleDbCommand(CountHolidayQuery, conn)) {
CountHoliday.Parameters.Add("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
}
我有这段代码,我正在尝试计算 accessdatabase 数据表 [Holiday] 中具有特定 payrollno 的行数。
string CountHolidayQuery = "SELECT COUNT FROM [Holiday] WHERE PayrollNo = @PayrollNo";
var CountHoliday = new OleDbCommand(CountHolidayQuery, conn);
CountHoliday.Parameters.AddWithValue("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
int TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
我收到此错误,但我认为我已经添加了参数?
Exception thrown: 'System.Data.OleDb.OleDbException' in System.Data.dll Additional information: No value given for one or more required parameters.
COUNT 的正确语法是
string CountHolidayQuery = @"SELECT COUNT(*)
FROM [Holiday] WHERE PayrollNo = @PayrollNo";
var CountHoliday = new OleDbCommand(CountHolidayQuery, conn);
CountHoliday.Parameters.Add("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
int TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
另请注意,我已将对 AddWithValue 的调用更改为传递的参数的正确添加。考虑到 AddWithValue 应该非常注意使用,因为 it is know as a source for subtle bugs
尝试
string CountHolidayQuery =
@"SELECT COUNT(*)
FROM [Holiday]
WHERE PayrollNo = @PayrollNo";
int TotalHolidays;
using (var CountHoliday = new OleDbCommand(CountHolidayQuery, conn)) {
CountHoliday.Parameters.Add("@PayrollNo", OleDbType.Integer).Value = GotPayroll;
TotalHolidays = Convert.ToInt32(CountHoliday.ExecuteNonQuery());
}