C#. Работаем с Firebird (2.5) из Visual Studio 2010



Комментарии

14 комментария(ев)
аватар: affottepats
affottepats
Дата: ВС, 16/01/2011 - 05:31
Звание: Наблюдатель
Сообщений: 1

Прочитав Ваш пост немного был озадачен темой поднятой Вами. После детального изучения я пришел к мнению, что я полностью согласен с Вашим мнением. У себя в ЖЖ я немного хочу процетировать Ваш пост и поразмышлять на эту тему. Естественно ссылка будет присутствовать на Ваш сайт. Надеюсь Вы не против? ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]> ]]>

аватар: Va-Bank
Va-Bank
Дата: ВС, 16/01/2011 - 07:57
Звание: Гуру
Сообщений: 8186

Никто не против. Перепечатывайте пожалуйста. Но ссылочку будьте добры сделать Wink

аватар: psycho-coder
psycho-coder
Дата: СР, 19/01/2011 - 05:45
Звание: Советник
Сообщений: 764

Smile Интересно.

Я для своих нужд написал класс-обертку, для простоты работы с FB. )

аватар: lexeyus
lexeyus
Дата: Пнд, 12/12/2011 - 02:04
Звание: Наблюдатель
Сообщений: 2

Драсьте!
Очень понравилась статья. Но созрел такой вопрос: как создать из приложения на C# базу данных?
К примеру в C++ я помнится делал как-то так:
IBDB1->Params->Clear();
IBDB1->Params->Add("user '"+config->Values["dblogin"]+"'");
IBDB1->Params->Add("password '"+config->Values["dbpass"]+"'");
IBDB1->Params->Add("page_size 4096");
IBDB1->Params->Add("default character set WIN1251");
IBDB1->SQLDialect=3;
IBDB1->CreateDatabase();
IBDB1->Open();
Что можно использовать для этого в C# на VS2010?

аватар: Va-Bank
Va-Bank
Дата: Пнд, 12/12/2011 - 02:48
Звание: Гуру
Сообщений: 8186

Я не знаю C#, но могу предположить что в C# тоже есть компонент IBScript (я программирую в делфи) или что-то похожее. Можно выполнить CREATE TABLE. Это же можно выполнить в обычном SQL запросе.

аватар: lexeyus
lexeyus
Дата: Пнд, 12/12/2011 - 03:01
Звание: Наблюдатель
Сообщений: 2

Спасибо за ответ, но насколько я помню в IBScript можно выполнить SQL запрос только тогда, когда ты подключишься к базе данных, а для этого нужно указать путь к этой самой базе... короче замкнутый круг: чтобы создать базу, нужно к ней подключиться

аватар: Va-Bank
Va-Bank
Дата: Пнд, 12/12/2011 - 03:16
Звание: Гуру
Сообщений: 8186

Для выполнения скрипта для создания БД не надо подключаться к БД изначально. Ё-маё, тут NikRon собаку на этом съел. Я ему ссылочку скину, может ответит.

аватар: Nik RON
Nik RON
Дата: Пнд, 12/12/2011 - 06:45
Звание: Советник
Сообщений: 665

procedure CreateDatabase(const DatabaseName: string; const SQLCode: TStrings; const User,Password: string); var IBScript: TIBScript; begin IBScript:=TIBScript.Create(nil); IBScript.Script.Assign(SQLCode); IBScript.Script[8]:='CREATE DATABASE '''+DatabaseName+''''; IBScript.Script[9]:='USER '''+User+''' PASSWORD '''+Password+''''; IBScript.ExecuteScript; IBScript.Free; end;

таким кодом в Delphi я создавал программно базу данных в одной из своих разработок..

В SQLCode хранится скрипт создания базы данных. Приведу только несколько начальных строк из него:
/******************************************************************************/
/*** Generated by IBExpert 2009.01.16 06.04.2009 14:40:51 ***/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES WIN1251;

CREATE DATABASE 'C:\Source\Databases\M2009.FDB'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 16384
DEFAULT CHARACTER SET WIN1251;

/******************************************************************************/
/*** Generators ***/
/******************************************************************************/

CREATE GENERATOR GEN_CT_PERIOD_ID;
SET GENERATOR GEN_CT_PERIOD_ID TO 0;

CREATE GENERATOR GEN_CT_PRINT_ID;
SET GENERATOR GEN_CT_PRINT_ID TO 5;

Первая процедура просто заменяет в готовом скрипте строки, в которых указан путь к файлу базы данных и логин-пароль пользователя.

Этот пример на Delphi, но я думаю, что и на C# есть компонент аналогичный IBScript, а SQL-код он и в Африке SQL-код ))

аватар: Reyka
Reyka
Дата: ЧТ, 05/03/2015 - 05:46
Звание: Наблюдатель
Сообщений: 1

Огромное спасибо за данную статью, очень помогло в написании курсовой работы.

аватар: Lika77
Lika77
Дата: Пнд, 22/02/2016 - 18:55
Звание: Наблюдатель
Сообщений: 1

Отличная статья, мне она очень помогает! Но вот столкнулась с незадачей:(
Как новичок, сразу прошу прощения, если задам глупый вопрос.
Помогите кто-нибудь разобраться что нужно подставить к *.ToString() для вывода результата?
select_result = select_result + reader.GetInt32(Innocent.ToString() + ", " + reader.GetString(1) + "\n";