![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CGI + базы данных [D7, Paradox]
phantom2040 © (2003-02-26 09:13:00)На сколько я понял в Delphi можно писать CGI сценарии, я как-то попробовал написать простейший типа Hello World, вроде все работает, значит возник такой вопрос нужно из сценария оращаться в базу данных с поиском или запросом, как это осуществить на практике, каким образом нужно обращаться к базе из CGI????
Кто нить сталкивался с такой проблемой???
А ну просто ужас как не хочется Perl учить, вчера блин за книжкой просидел, часа 2 пытался прочитать, блин нифига не понял, мутноватый язык
vlad40 (2003-02-26 12:29:00) [1]А ты попробуй поставить
data:=TDataModule.Create(Application);
перед обращением к data
Hawk2 (2003-02-26 10:59:00) [2]>А что ты имеешь в виду (Hawk2) "как выводить данные в Explorer"? Как передавать данные из броузера в CGI?
Нет как передавать данные из базы в броузер. Я вообще-то знаю, я имел ввиду раскажи человеку.
>phantom2040 © (26.02.03 10:27)
Так как ты пишешь, это немного корявый способ, в Делфи есть примеры написания cgi, там все сделано через PageProducer, очень удобно особенно если страница содержит много кода и с сопровождением проблем нет.
Если очень надо я могу выслать на мыло пример своей гостевой книги. Работает с БД Access.
phantom2040 (2003-02-26 10:27:00) [3]извеняюсь за то что употребил неправильное определение форма ее нет в приложении а вот его код
program prob;
{$APPTYPE CONSOLE}
{$E cgi}
uses
SysUtils,
datamod in "datamod.pas" {data: TDataModule};
var c: string;
begin
data.spr.Active:=true; data.spr.First;
c:=data.spr.fieldbyname("NAME").AsString;
WriteLn("Content-Type: text/html");
WriteLn;
WriteLn;
WriteLn("<HTML>");
WriteLn("<HEAD>");
WriteLn("<TITLE>Простейшее CGI приложение</TITLE>");
WriteLn("<META http-equiv="Content-Type" content="text/html;" +
" charset=windows-1251">");
WriteLn("</HEAD>");
WriteLn("<BODY>");
WriteLn("<H1>HELLO WORLD</H1>");
WriteLn("<H2>"+c+"</H1>");
WriteLn("</BODY>");
WriteLn("</HTML>");
end.
по идее в Експлорере должно выводиться первое поле первой записи таблицы, а сервер дает 500 ошибку, и как поступать со второй в uses???????
vlad40 (2003-02-26 10:15:00) [4]А что ты имеешь в виду (Hawk2) "как выводить данные в Explorer"? Как передавать данные из броузера в CGI?
Geka (2003-02-26 10:13:00) [5]Создавать приложение надо как Hawk2 сказал, а данные еще можно ручками html код добавить, для таблиц метки <TABLE>, <TR> и <TD>. Все просто.
Hawk2 (2003-02-26 10:00:00) [6]Актуальная тема, можно даже сказать наболевшая. Както месяца два назад я тоже задавал такой же вопрос и так не одного ответа не получил. Так что тебе phantom2040 повезло хоть чтото сказали, мне пришлось разбираться самому.
>vlad40 (26.02.03 09:21)
>А в чем проблема? С базой работаешь так же, как и в обычной >аппликации. Главное, чтобы не было визуальных компонентов. Бери >DataModule, ставь на него то, что тебе нужно, и работай >спокойно.
Как создать связь с базой это не проблема, ты бы лучьше подсказал как выводить данные в Explorer.
А тепер по теме. При создании CGI нужно открывать не обычный проэкт, а File->New->Web Server Application тогда не прийдется избавляться от формы и Делфи не цепляет лишние модули. А для вывода данных используй компоненты с закладки Internet.
vlad40 (2003-02-26 09:33:00) [7]Честно говоря, не знаю, что ты имеешь в виду "cgi форма проекта". Формы в твоем проекте вообще быть не должно, форму надо удалить, иначе работать это не будет.
Соловьев (2003-02-26 09:32:00) [8]у меня все работает, как ты работаешь с базой, код пожалуйста.
phantom2040 (2003-02-26 09:26:00) [9]Да, после добавления Дата модуля, в разделе USES прописывается этот модуль в виде datamod in "datamod.pas" {data: TDataModule};
ладно это понятно, не понятно как сервер со всем этим будет работать, ведь модуль не компилится, а компилится только cgi форма проекта, и после водружения на сервер, и запуска кода 500 ошибка вылетает почему то????
Delirium^.Tremens (2003-02-26 09:25:00) [10]
> На сколько я понял в Delphi можно писать CGI сценарии
В Delphi можно писать приложения, в которых реализован CGI - Common Gateaway Interface. Сценарии принято писать на скриптовых языках.
PHP для этой цели лучше заточен.
vlad40 (2003-02-26 09:21:00) [11]А в чем проблема? С базой работаешь так же, как и в обычной аппликации. Главное, чтобы не было визуальных компонентов. Бери DataModule, ставь на него то, что тебе нужно, и работай спокойно.