在VC ++表单应用程序中检索Ms Access数据到ComboBox

时间:2013-03-10 16:18:47

标签: visual-c++ ms-access combobox

您好我正在尝试从VC++中的Ms Access数据库中检索数据。由于我是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"

1 个答案:

答案 0 :(得分:0)

GetString()方法将列号的整数作为参数,而不是列名称(有关完整文档,请参阅here)。

更改行

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

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