您好我正在尝试从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"
。
答案 0 :(得分:0)
GetString()
方法将列号的整数作为参数,而不是列名称(有关完整文档,请参阅here)。
更改行
String^ vName = myReader->GetString('name');
到
String^ vName = myReader->GetString(0);