Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > не работает DataSet->Fill()


Автор: lasar777 19.4.2009, 22:22
Доброе время суток!

Пишу программу на С++/CLI Visual Studio 2005. 
Необходимо отобразить данные из бд Access в DataGridView. Таблица в Access'е задана заранее вручную. Имя таблицы UseTable. 

Код

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                String ^strConn, ^strSQL;
                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\trambahland1\UserMod.mdb";
                strSQL = "SELECT [Номер заказа], [Имя покупателя], [Марка автомобиля], [Модель автомобиля], [Год выпуска], VIN, [Срок выполнения заказа], Телефон, Предоплата FROM UseTable";
                
                                 OleDbDataAdapter^ daa = gcnew OleDbDataAdapter(strSQL, strConn);
                 OleDbCommandBuilder^ Builder = gcnew OleDbCommandBuilder(daa);

                 DataSet^ dss = gcnew DataSet();

                 daa->Fill(dss, "UseTable"); 

                Users::dataGridView1->DataSource = dss->Tables["UseTable"]->DefaultView;

         }


Вроде все просто. Компиляция проходит без ошибок и сообщений. Но во время выполнения студия выдает следующее: 

OleDbException was unhandled. Недопустимое имя файла.

И указывает при этом на функцию
Цитата

daa->Fill(dss, "UseTable"); 


Помогите, пожалуйста, разобраться в чем причина ошибки и как ее исправить!


Автор: lasar777 20.4.2009, 08:39


Все разобрался! Вопрос снимается.  Все дело было в strConn. Просто нужно было заменить одинарные слеши на двойные:

Код

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\trambahland1\\UserMod.mdb";


Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)