グリッドビューに表示するレコードは1000ですが、ObjectDataSourceを使用してグリッドビューにバインドします。私は、オープンとクローズの接続を行うクラス[Dataserver]
を持つデータアクセス層でデータは、ストアドプロシージャを使用せずにObjectDataSourceを使用してグリッドビューをバインドします
<asp:ObjectDataSource ID="odsProducts" runat="server" SelectMethod="GetProducts"
TypeName="ProductsList" EnablePaging="True" MaximumRowsParameterName="PageSize"
SelectCountMethod="GetRowsCount" StartRowIndexParameterName="StartRow"></asp:ObjectDataSource>
<asp:GridView ID="UserTable" runat="server" AllowPaging="True" DataSourceID="odsProducts"
SelectedIndex="0" DataKeyNames="UserID" ShowHeaderWhenEmpty="True" BorderStyle="Groove"
OnRowDataBound="UserTable_RowDataBound" AutoGenerateColumns="false">
、私は、DBからデータを取得するために使用されるExecuteNonQueryメソッドと呼ばれる方法があります。ウェブでOjectdataSource
private DataView GetData(int StartRow, int PageSize)
{
DataServer server = new DataServer();
DataTable dt = new DataTable();
int newOrgID = 60;
string userQuery = "Select tbl_User.UserID, tbl_User.FirstName, tbl_User.LastName, tbl_User.Email, tbl_User.PhoneNumber, tbl_User.CreatedBy, tbl_Organisation.OrganisationName from tbl_user WHERE [email protected] order by tbl_user.LastName asc";
MySqlParameter[] para = new MySqlParameter[1];
para[0] = new MySqlParameter("@OrganisationID", MySqlDbType.Int32);
para[0].Value = newOrgID ;
dt = server.ExecuteQuery(CommandType.Text, userQuery, para);
}
すべての例の私の函方法でそう
public int ExecuteNonQuery(CommandType commandType, string sql, MySqlParameter[] commandParameters)
{
...
return rowsAffected;
}
は、ストアドプロシージャであるいくつかのいずれかは、これを行うに私を助けることができます。ここでエラーが発生するのは、グリッドビューをバインドできず、データセットをdatableに変換できないということです。だから私は、GridViewの