を使用してデータをページングし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
整数に変換されます。ただし、キーワードを使用しているため、コンマで区切られた ID のリストIN
に置き換えたいことは明らかです。employeeIds
1, 2, 3
しかし、行を置き換えると:
command.Parameters.AddWithValue("@EmployeeIds", employeeIds);
次のようなもので:
command.Parameters.AddWithValue("@EmployeeIds", "1, 2, 3");
EmployeeIds
が整数であるときに文字列を指定したため、例外が発生します。それで、どうすればそれを行うことができますか?
ありがとう。
編集:
返信から、これは手動で行う必要があることを理解していますが、このメソッドを含むクラスは によって自動的に作成されますObjectDataSource
。employeeIds
では、実行時に値を提供するにはどうすればよいですか?