2016-09-07 3 views
0

Я пытаюсь открыть базу данных доступа с расширением .accdb, чтобы я мог прочитать некоторую информацию из этой базы данных. У меня нет проблем делать это, если я использую мастера:Как открыть базу данных доступа в C#?

enter image description here

enter image description here

enter image description here

enter image description here

Однако при попытке использовать код, чтобы сделать это, я всегда получить исключение при попытке подключения: enter image description here

enter image description here

От отладки Я понял, что исключение связано с тем, что оно не открыло соединение. Поэтому я открыть соединение, но база данных приходит как пустой:

enter image description here

Я огляделась переполнение стека и попытался применить многие из ответов на подобные вопросы, но они не работали. Теоретически, если я могу подключиться через мастер, я должен также иметь возможность подключаться через объект OleDBConnection в C#. Как я могу это исправить?

+0

Я не уверен, но как насчет использования 'Provider = Microsoft.Jet.OLEDB.4.0;'? – techspider

+0

Вы пытались сделать простой запрос sql к нему? используя 'OleDbDataReader'? – Alex

+0

Пожалуйста, разместите код, в котором вы создаете экземпляр DataAdapter и задаете его строку запроса. –

ответ

1

Я нашел проблему. У моего имени таблицы было пробел между «Tab_Project Data», и поскольку я не использовал [], он искал таблицу с именем «Tab_Project», которую она не могла найти. Поэтому мне просто пришлось поместить «[Tab_Project Data]» внутри моего запроса, и теперь он работает.