Лучший отвечающий
Открытие файла БД без помощи визарда

Вопрос
-
Приветствую.
Использую SQL Server CE. В папке с программой лежит файл *.sdf. Таких БД в папке с программой может быть несколько. Поэтому мне надо при загрузке программы дать возможность пользователю самостоятельно выбрать файл БД и загрузить из него данные в dataGridView. При помощи визарда в VS2008 все получилось. Но как это сделать вручную - непонятно. На codeproject не удалось найти примера с самостоятельным открытием файла. Подскажите, пожалуйста, пример или ссылку.
Спасибо.
6 февраля 2013 г. 12:44
Ответы
-
файл с БД указывается в строке подключения, вы можете запрашивать у пользователя имя файла и после этого формировать строку подключения и использовать ее
Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf;Persist Security Info=False;
- Предложено в качестве ответа Abolmasov Dmitry 7 февраля 2013 г. 11:19
- Помечено в качестве ответа Geokish 11 февраля 2013 г. 7:33
6 февраля 2013 г. 13:29
Все ответы
-
SQL Compact Query Analyzer - Целый проект. Можно найти много чего.6 февраля 2013 г. 12:52
-
файл с БД указывается в строке подключения, вы можете запрашивать у пользователя имя файла и после этого формировать строку подключения и использовать ее
Data Source=" + (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf;Persist Security Info=False;
- Предложено в качестве ответа Abolmasov Dmitry 7 февраля 2013 г. 11:19
- Помечено в качестве ответа Geokish 11 февраля 2013 г. 7:33
6 февраля 2013 г. 13:29 -
Если у вас одинаковые структуры баз данных, т.е. фактически копии одной, но содержащие разные данные - то рассмотрите вариант, который предложил Brash O,
Если у вас разные файлы содержат совершенно разные базы данных - то и классы, который генерирует мастер должны использоваться разные и вообще возможно придется отказаться от мастера и выполнять запросы вручкую и далее привязывать данные тоже
Для связи [mail]
7 февраля 2013 г. 11:21 -
Приветствую, Дмитрий.
Тут ситуация с базами такая: один файл базы - это записи за год работы заказчика. Иногда заказчику на следующий год может потребоваться добавить какие-то столбцы (ну, каприз вот такой у них). Поэтому и требуется открывать базу вручную. Кстати, базу решил делать на SQLite. Вот и встает вопрос, при загрузке разных файлов БД отображать уже в gridView столбцы, соответствующие выбранной базе, а не все столбцы (даже пустые).
8 февраля 2013 г. 9:15 -
Тогда вы можете создать таблицу во всех базах в которых будете хранить данные о запросах и отображаемых полях и на основе этих данных при открытии генерировать представления8 февраля 2013 г. 9:23
-
DataGrid поддерживает автогенерацию столбцов, поэтому он будет отображать только те столбцы, которые есть в источнике данных. Ну а источник данных, если заполнять как SELECT * FROM table, то будут только те столбцы, которые реально есть в БД.
Для связи [mail]
8 февраля 2013 г. 9:24 -
Спасибо за ответ, а примера нет никакого? Наглядней было бы понятнее.
Спасибо еще раз.
8 февраля 2013 г. 9:27