Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADO.NET Имена таблиц из БД Access через OleDb

32K
21 июня 2008 года
Identific@tor
4 / / 27.11.2007
Здравствуйте!
У меня проблема: никак [COLOR="Red"]не могу получить имена всех таблиц из БД.[/COLOR]

Пользуюсь OleDbDataAdapter и DataSet. Они создаются не через мастер, а с помощью кода, при этом OleDbDataAdapter создается так
dataAdapter=new OleDbDataAdapter(CommandText,ConnectionString);

ConnectionString формируется динамически, чтобы пользователь мог выбрать БД.
А как выбрать нужную таблицу, ведь в БД может содержаться множество таблиц с разными именами? А в CommandText (строка SQL запроса) надо указывать имя таблицы явно, то есть теряется гибкость.

Желательно выбирать имена таблиц из ComboBox.

Подскажите пож-ста, если кто знает.

На всякий случай вот часть кода:
CommandText=@"SELECT [COLOR="Red"]PLAVKA[/COLOR].* FROM [COLOR="red"]PLAVKA[/COLOR]";
ConnectionString="Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source="+[COLOR="Red"]openFileDialog1.FileName[/COLOR]+";Password=;Jet OLEDB:Engine Type=5;Jet OLEDB:Global Bulk Transactions=1;Provider=\"Microsoft.Jet.OLEDB.4.0\";Jet OLEDB:System database=;Jet OLEDB:SFP=False;Extended Properties=;Mode=Read;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Encrypt Database=False";
dataAdapter=new OleDbDataAdapter(CommandText,ConnectionString);
ds=new DataSet();
dataAdapter.Fill(ds);
dataGrid1.DataSource=ds ;
11
21 июня 2008 года
oxotnik333
2.9K / / 03.08.2007
Вобще то клиентское приложение разрабатывается для конкретной БД, и если Вы заранее не знаете что и из чего надо выбирать то ИМХО страдает архитектура приложения.
32K
22 июня 2008 года
Identific@tor
4 / / 27.11.2007
Причем здесь это: страдает или нет?
Мне как раз и надо знать: из какой конкретной таблицы в базе брать данные, причем динамически!
Даже ADO в C++ Builder позволяет это сделать! (просто я решил переписать свою программу на C# в Visual Studio 2003, а то говорят, что Builder отстой)
Если по-вашему "Клиентское приложение разрабатывается для конкретной БД", то программа получается одноразовая и в чем смысл такой программы?
На большом предприятии она не будет иметь успеха, а для ведения "домашней бухгалтерии" и Excel сойдет.

[COLOR="Red"]Мне нужен четкий лаконичный ответ по заданному мной исходному вопросу, а не бла-бла!!![/COLOR]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог