| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Как подключить FB (FireBird) в C# |
| Автор: Akella 19.10.2005, 11:30 |
| Я скачал сборки для подключения FB к C#, подключил, но как вывести данные в dataGrid |
| Автор: Дрон 19.10.2005, 14:07 |
| Так же как и для любой другой базы Что не работает-то? |
| Автор: Akella 19.10.2005, 14:11 |
| Спасибо за очень полный ответ Добавлено @ 14:11 Сообщения зарабатываешь? |
| Автор: Дрон 19.10.2005, 14:12 | ||
Да у меня их и так хватает Но что тебе конкретно непонятно, ты так и не объяснил. Добавлено @ 14:17 Начну с того, что способов вывести данных в dataGrid существует несколько. Можно пользоваться встроенным в студию мастером (Wizard), можно программно. Я предпочитаю программно -- так как это даёт гораздо больший контроль над тем, что мы получим. Общая схема такая: - создаём и открываем соединение - создаём команду для выборки данных - создаём DataAdapter и передаём ему эту команду - создаём пустой DataSet и заполняем его командой Fill из адаптера - присваиваем этот датасет свойству DataSource датагрида. Наслаждаемся жизнью. А теперь объясни, что же у тебя не получается? Добавлено @ 14:18 Для разных баз более или менее существенные различия только на первом этапе -- создании соединения. |
| Автор: Akella 19.10.2005, 17:16 |
| Программно я смог, но вот как в дизайнере? Дополнительный вопрос: как сделать DataTable table глобальным? подскажи пример кода |
| Автор: mr.DUDA 20.10.2005, 22:11 | ||||
В дизайнере - по аналогии с кодом C# DataTable сделать "глобальным" можно, объявив переменную такого типа в рамках одного класса (любого). Глобальность будет проявляться в том, что эта переменная (DataTable myTbl) будет видна из всех методов данного класса. Если же необходимо сделать доступной её из ЛЮБОЙ точки программы, то нужно сделать эту переменную глобальной статической в любом классе. Добавлено @ 22:12
Сначала посмотри на его репутацию, потом задавай такой неуместный вопрос |
| Автор: Akella 21.10.2005, 09:04 | ||
| Спасибо, пацаны, за ответы, но... я C# только начинаю изучать, поэтому было бы неплохо, если бы вы подкрепили свои сообщения примерами или, хотябы, про дизайн немного более подробно описали Заранее спасибо.
а это я так знаю, но как это реализовать в коде? |
| Автор: STEEL98 30.5.2006, 12:11 | ||
| А у меня что то не получается, вы каким нибудь провайдером пользуетесь для работы с фб? Вот код, что не так?
В итоге нет ничего в датагриде? Кстати во многих книгах его называют датагрид, а в VS 2005 .NET он зовется именно DataGridView верно? |
| Автор: mr.DUDA 13.10.2006, 10:51 |
| Akella, вопрос к чему относится - к SQL, к работе с БД в дотнет, или есть проблемы с firebird ? |
| Автор: Akella 13.10.2006, 11:07 |
| c FB нет проблем. Хочу базу подключить к гриду (для начала в дизайнере) Добавлено @ 11:08 может есть немного доки, у меня есть дока FirebirdNETProviderSDK.chm (1.7), не знаю, сгодиться ли.. |
| Автор: Akella 13.10.2006, 11:31 |
| ниче страшного если я не буду создавать новую тему и задам маленький вопрос: что это за "DDEX Provider for Visual Studio 2005" если что, mr.DUDA, скажи я создам новую тему, без проблем |
| Автор: mr.DUDA 13.10.2006, 13:29 |
| Akella, вопрос "просто" по ADO.NET З.Ы. DDEX может значить всё что угодно, AFAIK |
| Автор: Akella 13.10.2006, 15:44 |
| теме почти год, неужели никто не подключал базу FB в дазайнере |
| Автор: Akella 13.10.2006, 16:14 | ||||
подключил не в дизайнере
вопрос на засыпку: а если выборка не из одной таблицы, а так
|
| Автор: mr.DUDA 13.10.2006, 18:07 |
Всё равно результатом будет одна плоская таблица. |
| Автор: Akella 16.10.2006, 08:08 | ||
mr.DUDA, хотелось бы если уж получать ответы, то более менее понятные, а лучше полные Добавлено @ 08:10 mr.DUDA, я имел ввиду, как бы выглялдел этот код?
|
| Автор: mr.DUDA 16.10.2006, 10:35 | ||
| Akella, смотри: - делаешь SQL-запрос к двум таблицам, так ? - таблицы в БД связаны по ключевому полю, одна является подчинённой для другой; в твоём примере таблица apart подчинена таблице regions (в терминах ADO таблица regions является parent-ом для таблицы apart); - запрос сформирован так, что его результатом будет таблица с записями из apart, плюс поля из таблицы regions; это можно увидеть, выполнив запрос в консоли Firebird или в любой IDE-подобной утилите для работы с этой БД; - после обработки данного запроса датаадаптером (метод Fill, заполняющий датасет), получится так что в изначально пустой датасет добавится DataTable с именем aparts, содержащая все поля из результата, т.е. поля из таблицы БД aparts и таблицы БД regions; проверить это можно, взяв у датасета свойство Tables.Count (будет равно 1) и Tables[0] (будет содержать результат), можно сделать это в окне отладчика, введя соотв. выражения для проверки на закладке Watch. Если что-то всё ещё неясно, давай будем разбираться на примерах кода. Добавлено @ 10:39
Тут опять-таки, надо просто разобраться что нам нужно видеть в датагриде. Нужна таблица regions и только regions ? Делай SQL-запрос, возвращающий только данные из regions. Нужно показать записи из aparts и связанные с ними записи из regions, в виде дерева или двух отдельных датагридов ? Делай два SQL-запроса в один датасет с программно добавленными в него DataTable и DataRelation, и пусть первый запрос заполнит parent-таблицу, второй - child-таблицу. |
| Автор: Akella 17.10.2006, 08:14 | ||||
нет, regions - это таблица справочник. Добавлено @ 08:17 короче вот дали мне пример - коротко и ясно:
|
| Автор: mr.DUDA 17.10.2006, 10:31 |
это то же самое, о чём я говорю раз так понятно, то отлично |
| Автор: Akella 17.10.2006, 13:37 | ||
http://www.firebirdtutorial.net/firebird-data-access-designer-ddex-installation.html |
| Автор: Akella 17.10.2006, 14:36 |
| http://www.firebirdtutorial.net/sqldatasource-component.html кидаем на форму datasource и больше ничего. С пом. констрокутора облепливаем datasource всем остальным. |