我正在使用 an 分页数据,ObjectDataSource
并且我有以下方法:
public int GetNumberOfArticles(string employeeIds)
{
System.Data.DataTable dataTable;
System.Data.SqlClient.SqlDataAdapter dataAdapter;
System.Data.SqlClient.SqlCommand command;
int numberOfArticles = 0;
command = new System.Data.SqlClient.SqlCommand();
command.Connection = Classes.Database.SQLServer.SqlConnection;
command.CommandText = @"SELECT COUNT(*)
FROM
[Articles]
WHERE
[Articles].[EmployeeID] IN (@EmployeeIds)";
command.Parameters.AddWithValue("@EmployeeIds", employeeIds);
numberOfArticles = (int)command.ExecuteScalar();
return numberOfArticles;
}
EmployeeID是一个整数,因此,我放入的任何内容employeeIds
都将转换为整数。但是,因为我使用的是IN
关键字,很明显我想employeeIds
用逗号分隔的 id 列表替换:
1, 2, 3
但是当我更换线路时:
command.Parameters.AddWithValue("@EmployeeIds", employeeIds);
有类似的东西:
command.Parameters.AddWithValue("@EmployeeIds", "1, 2, 3");
我收到一个异常,因为我提供了一个字符串,而EmployeeIds
它是一个整数。那么,我将如何去做呢?
谢谢。
编辑:
从回复中,我了解到这必须手动完成,但是包含此方法的类将由ObjectDataSource
. 那么我怎样才能提供employeeIds
运行时的值呢?