Форум: "Базы";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизПростейший пример IB & Delphi. подключение, запрос, результат. Найти похожие ветки
← →
NetBot (2006-04-11 11:46) [0]Всем добрый день. Возникла острая необходимость написать простую программку для обращения к interbase серверу. Под рукой есть delphi7.
В чём проблема.. хм. никак немогу врубиться что для этого надо. Второй день лопачу инет в поисках простого примера "Подключение/выполнение запроса/обработка результата".
Всю докуметацию уже дважды прочитал, но какой то ключевой момент немогу догнать. Может мозги после пхп нежелают понимать элементраных вещей.. х.з.
Вообщем. большая просьба ткнуть носом в простой пример, который бы наглядно показал эти нехитрые операции. (ну пожалуста..ненадо меня посылать на faq.. я там был. ).
Если кто решит помочь:
таблица test.
fielda - integer;
fieldb - varchar(40);
fieldc - date;
результат вывести в memo.text ..
заранее спасибо..
← →
Курдль © (2006-04-11 11:56) [1]
> большая просьба ткнуть носом в простой пример
Тыкаю носом : C:\Program Files\Borland\Delphi7\Demos\Db\IBDemo
← →
NetBot (2006-04-11 11:59) [2]несмешно.. эти примеры - это издевательство.. чесслово..
← →
Desdechado © (2006-04-11 12:01) [3]ibase.ru
← →
Курдль © (2006-04-11 12:01) [4]
> NetBot (11.04.06 11:59) [2]
> несмешно.. эти примеры - это издевательство.. чесслово..
8-() !!!!!!!!!!!!!!!???????????
← →
NetBot (2006-04-11 12:10) [5]
> Desdechado © (11.04.06 12:01) [3]
> ibase.ru
был.. опять таже проблема. нифига не нашёл.
> 8-() !!!!!!!!!!!!!!!???????????
ага.
----------
люди, ну неужели трудно кинуть пару компонент в форму и скопировать сюда пример?
Я, вроде, не совсем глупый.. но вот нехватает самой малости для переворота в мозгах.. после 3-х лет пхп как то трудно для понимания всех этих странных компонент и их странноватых методов..
← →
Курдль © (2006-04-11 12:12) [6]Если после 3-х лет "работы" на_чем_угодно Вы не научились работать с документацией и прилагаемыми примерами - Вам уже ничего не поможет :(
← →
NetBot (2006-04-11 12:19) [7]
> Если после 3-х лет "работы" на_чем_угодно Вы не научились
> работать с документацией и прилагаемыми примерами - Вам
> уже ничего не поможет :(
незнаю.. может и так. может мне пора того... в реку с кирпичом на шее.. жизь поржита зря.
← →
Курдль © (2006-04-11 12:27) [8]
> NetBot (11.04.06 12:19) [7]
> незнаю.. может и так. может мне пора того... в реку с кирпичом
> на шее.. жизь поржита зря.
Знаю я этот "синдром чесания рук"! Рекомендую взять себя в руки (а не покончить в себя или наложить себе в руки) и оторваться от компа на недельку для ознакомления с бумажной литературой.
← →
NetBot (2006-04-11 12:35) [9]
> оторваться от компа на недельку
хех. в том то и дело, что нет этих неделек.. да и вообще нет задачи изучать дельфи глубже, чем написание данной задачи. мндя..
всего то надо сделать пару запросов и выгрузить их в файл.. на пхп я бы даже и не задумывался о такой задачи.. а вот в дельфях второй (или уже третий.. помоему третий..) день торможу. И кучу мануалов перечитал.. и учебники.. но нигде не увидел наглядного примера. который бы просветлил мозги.
может действительно задача требует хрен знает каких затрат человеко/часов и простым примеров необъяснит? а?
← →
Курдль © (2006-04-11 12:41) [10]
> может действительно задача требует хрен знает каких затрат
> человеко/часов и простым примеров необъяснит? а?
Я, давая ссылку наC:\Program Files\Borland\Delphi7\Demos\Db\IBDemo
не из памяти ее взял. Просто помню что есть демосы, демосы по базам и должны быть по IB. За 10 секунд я этот сэмпл нашел. Через 10 секунд он у меня открылся в Делфи. Одним шелчком по кнопке "Коннект" я вышел на функцию, так жалобно запрашиваемую вами под пунктом "Подключение".
← →
NetBot (2006-04-11 12:47) [11]
> Одним шелчком по кнопке "Коннект" я вышел на функцию, так
> жалобно запрашиваемую вами под пунктом "Подключение".
хех. это я и сам увидел.. ну а что дальше? Выполнить текст запроса и разбор результатов?
Ув. Курдль. ну серьёзно.. 5 рабочих строчек кода - страшная военая тайна?
← →
Megabyte © (2006-04-11 12:47) [12]По идее ты бы успел за пару-тройку часов понять, как работать с IB в Дельфи.
Компоненты луче использовать с закладки IBExpress. Но литературу можно почитать по любой из технологий доступа, т.к. принципы работы с БД между ними похожи, компоненты отличаются префиксом: XXXTable, XXXQuery, XXXDatabase.
Тебе для данной задачи надо 3 компонента: IBDatabase, IBQuery, IBTransaction(ну разве что с ним не сразу придет понимание).
з.ы. здесь не любят бесплатно давать готовый пример без твоих вариантов...
← →
Desdechado © (2006-04-11 13:22) [13]> здесь не любят бесплатно давать готовый пример
Не так. Здесь пытаются направить мозги в нужное русло и заставить думать, а не копипастом заниматься.
А код дают для действительно интересных проблем, не отраженных в DEMOS и запрятанных глубоко в доках.
← →
NetBot (2006-04-11 13:31) [14]
> Здесь пытаются направить мозги в нужное русло и заставить
> думать, а не копипастом заниматься.
ну дык.. разве я прошу "сделайте всё за меня"?
прошу ведь простенький пример.. а дальше я сам..
← →
Anatoly Podgoretsky © (2006-04-11 14:03) [15]NetBot (11.04.06 13:31) [14]
Просишь.
Простенький пример в {DELPHI}\Demos\Db\IBDemo
Более сложный там же.
← →
NetBot (2006-04-11 14:14) [16]
> Простенький пример в {DELPHI}\Demos\Db\IBDemo
да вы с ума сошли.. чесслово..
И так, что там написано:procedure TdmEvents.dmEventsCreate(Sender: TObject);
begin
with Database1 do
Params.Values["Server Name"] := ExtractFilePath(ParamStr(0)) +
"Events.gdb";
end;
ну да.. очень информативный пример.. апупедъ.
а вот что надо было (хотя и незнаю.. ох.. правильноли..):IBDatabase1.DatabaseName:="localhost:E:\ib_base\TEST1.GDB";
IBDatabase1.Params.Add ("user_name=SYSDBA");
IBDatabase1.Params.Add ("password=masterkey");
IBDatabase1.Params.Add ("lc_ctype=win1251");
IBDatabase1.LoginPrompt:=False;
нее.. я. конечно, понимаю, что все даже незадумываются о компонентах, свойствах и методах.. но вот лично мне трудновато..
← →
Anatoly Podgoretsky © (2006-04-11 14:51) [17]Брось ты это дело.
← →
NetBot (2006-04-11 15:07) [18]
> Брось ты это дело.
с удовольствием.. вот щас допишу и забуду.
Кстати, странно.. почему толком не работает TestConnected .. в любом случае до Connected:=True выдаёт false.. хотя, если его просто неучитывать, то вроде всё работает.. хм. для чего он тогда нужен? Может я что то непонимаю?
Или он просто возвращает состояние (было ли ранее Connected в true или false)
← →
Курдль © (2006-04-11 15:36) [19]
> begin
> with Database1 do
> Params.Values["Server Name"] := ExtractFilePath(ParamStr(0))
> +
> "Events.gdb";
> end;
> ну да.. очень информативный пример.. апупедъ.
Я считаю, что весьма информативный пример! Вы в школе какой язык учили? Албанский?
начало
вместе с БазаДанных сделать
Параметры.Значения["Имя Сервера"] := ИзвлечьПутьФайла(СтроковыйПараметр(0)) + "Events.gdb";
конец;
← →
NetBot (2006-04-11 15:57) [20]не буду спорить.. это моё субъективное мнение.
если кто то думает иначе - то он думает иначе. :)
ладно.. далее по вопросу.. при попытке выполнить запрос выдаёт class EIBClientError with message "database no assigned".
вот код.begin
IBDatabase1.DatabaseName:="localhost:E:\ib_base\TEST1.GDB";
IBDatabase1.Params.Add ("user_name=SYSDBA");
IBDatabase1.Params.Add ("password=masterkey");
IBDatabase1.Params.Add ("lc_ctype=win1251");
IBDatabase1.LoginPrompt:=False;
try
IBDatabase1.Connected:=True;
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add("select * from NEW_TABLE");
IBQuery1.Open;
memo1.Text:=IBQuery1.FieldByName("TEST_FIELD").AsString+" "+IBQuery1.FieldByName("TEST_FIELD2").AsString;
IBDatabase1.Connected:=False;
except
IBDatabase1.Connected:=False;
MessageBox (Application.Handle, "Error", 0);
end;
end;
ну чесслово, почему?? Что этой падле ещё надо???
Вообще из диалога "TIBDAtabase" проверял. значения для подключения верны..
← →
Desdechado © (2006-04-11 18:22) [21]запрос происходит ЧЕРЕЗ подключение, т.е. ibquery.database надо присвоить ibdatabase
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.045 c