0

dataGridView に Student データを表示する次のクエリがありますが、レコードがまったく表示されないようです。私のコード:

public void setSQL()
{
    string ConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\jasper\\Desktop\\AutoReg\\AutoReg.accdb;";

    OleDbConnection MyConn = new OleDbConnection(ConnStr);
    MyConn.Open();

    DataSet ds = new DataSet();

    //query to ask
    string query = "SELECT * FROM Student";

    using (OleDbCommand command = new OleDbCommand(query, MyConn))
    {
        using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
        {
            adapter.Fill(ds);
            dataGridView1.DataSource = ds;
            MyConn.Close();
        }
    }
}
4

3 に答える 3

0

編集:コメントを見た後、私は自分のエラーに気づきました。私はWebアプリケーションを想定していました。

DataTableではなく、 をデータ ソースとして使用する必要がありますDataSet。データ ソース プロパティを DataSet のテーブル コレクションの最初のテーブルに設定します。

実際には、DataSet を使用できますが、それほど単純ではありません。ただし、ユーザーが表示しているテーブルを変更することはできます。

于 2013-05-09T13:49:09.203 に答える
0

あなたがチェックできるいくつかのこと。

  1. このテーブルにエントリがありますか?

  2. OleDbDataAdapter に関する部分をコメントアウトしてみてください。代わりに DataReader を使用して、ステップスルーして、返される行があるかどうかを確認してください。

  3. データリーダーで行を取得している場合は、データグリッドの設定に関係している可能性があります。自動生成列を使用していますか? そうでない場合、列は正しく設定されていますか?

于 2013-05-09T13:58:12.440 に答える