ADO.NET Имена таблиц из БД Access через OleDb
У меня проблема: никак [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 ;
Вобще то клиентское приложение разрабатывается для конкретной БД, и если Вы заранее не знаете что и из чего надо выбирать то ИМХО страдает архитектура приложения.
Мне как раз и надо знать: из какой конкретной таблицы в базе брать данные, причем динамически!
Даже ADO в C++ Builder позволяет это сделать! (просто я решил переписать свою программу на C# в Visual Studio 2003, а то говорят, что Builder отстой)
Если по-вашему "Клиентское приложение разрабатывается для конкретной БД", то программа получается одноразовая и в чем смысл такой программы?
На большом предприятии она не будет иметь успеха, а для ведения "домашней бухгалтерии" и Excel сойдет.
[COLOR="Red"]Мне нужен четкий лаконичный ответ по заданному мной исходному вопросу, а не бла-бла!!![/COLOR]