0

そのため、私が取り組んでいるプロジェクトに問題があります。クエリに大量のデータがあるため、SQL Server によってページングと並べ替えが処理されるグリッドビューを作成しています。これを行う方法の例をダウンロードし、サンプル SQL をテーブルに合わせて変更すると、問題なくテストされます。このコードをメイン プロジェクトに転送すると、データセットにデータが入力されなくなります。私は実際にコードが機能することを知っています.SQLは48行を返し、ページあたり25行でページングする必要があることを知っています. ArrayList を返す関数で SQL を実行してから、それを Data Table に変換して DataSet に入力しようとしましたが、Data Table は入力されていますが、DataSet のデータ数は 0 に戻ります....全損。エラーはまったく発生せず、データベースと通信しています。

DataSet を埋めるための私のコードは次のとおりです。

public DataSet GetDataSet(string sql) {
    DataSet ds = new DataSet();

    using (SqlConnection conn = new SqlConnection(_connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(sql, conn);
        conn.Open();
        adapter.Fill(ds);
    } 

    return ds;
}

このコードも試しました。

   SqlConnection src = new SqlConnection(_connectionString);

        try
        {
            src.Open();
            using (SqlDataAdapter DA = new SqlDataAdapter(sql, src))
            {

                DataTable report = new DataTable();
                DA.Fill(report);
                DS = new DataSet();
                DS.Tables.Add(report);

            }


            src.Close();
        }
4

1 に答える 1

0

最初のコードでは、まず ds にこのようにテーブルを入力します

con.open();
adapter.Fill(ds,"THE TABLE NAME EXACTLY IN  YOUR DB");
GridView1.DataSource= ds.Tables["THE TABLE NAME EXACTLY IN  YOUR DB"];
GridView1.DataBind();
于 2013-04-16T02:35:24.613 に答える