0

こんにちは、 の Ms Access データベースからデータを取得しようとしていますVC++。私は初めてなVC++ので、助けてください。

ここに私がこれまでに書いたコードがあります。

System::Data::DataSet^ ds=gcnew System::Data::DataSet();

        OleDbConnection ^ con=gcnew OleDbConnection("Provider= Microsoft.ACE.OLEDB.12.0;Data source=dbmc.accdb; Persist Security Info=True");
        OleDbCommand^ com =gcnew OleDbCommand();
        OleDbDataReader^ myReader;
        com->CommandText ="SELECT name FROM Table1";
        com->Connection = con;
        con->Open();
        try
        {
            myReader=com->ExecuteReader();
            while(myReader->Read())
            {
                String^ vName = myReader->GetString('name');
                comboBox1->Items->Add(vName);
                myReader->Close();
            }
        }
        catch(Exception^ex)
        {
            MessageBox::Show(ex->Message);
        }   

このプログラムを実行すると、エラーが発生します"Index Out of Bound"

4

1 に答える 1

0

このGetString()メソッドは、列名ではなく、列番号の整数をパラメーターとして受け取ります (完全なドキュメントについては、こちらを参照してください)。

行を変更する

String^ vName = myReader->GetString('name');

String^ vName = myReader->GetString(0);

于 2013-03-11T13:24:04.333 に答える