Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];

Вниз

CGI + базы данных   Найти похожие ветки 

 
phantom2040   (2003-02-26 09:13) [0]

На сколько я понял в Delphi можно писать CGI сценарии, я как-то попробовал написать простейший типа Hello World, вроде все работает, значит возник такой вопрос нужно из сценария оращаться в базу данных с поиском или запросом, как это осуществить на практике, каким образом нужно обращаться к базе из CGI????
Кто нить сталкивался с такой проблемой???
А ну просто ужас как не хочется Perl учить, вчера блин за книжкой просидел, часа 2 пытался прочитать, блин нифига не понял, мутноватый язык


 
vlad40   (2003-02-26 09:21) [1]

А в чем проблема? С базой работаешь так же, как и в обычной аппликации. Главное, чтобы не было визуальных компонентов. Бери DataModule, ставь на него то, что тебе нужно, и работай спокойно.


 
Delirium^.Tremens   (2003-02-26 09:25) [2]


> На сколько я понял в Delphi можно писать CGI сценарии

В Delphi можно писать приложения, в которых реализован CGI - Common Gateaway Interface. Сценарии принято писать на скриптовых языках.

PHP для этой цели лучше заточен.


 
phantom2040   (2003-02-26 09:26) [3]

Да, после добавления Дата модуля, в разделе USES прописывается этот модуль в виде datamod in "datamod.pas" {data: TDataModule};
ладно это понятно, не понятно как сервер со всем этим будет работать, ведь модуль не компилится, а компилится только cgi форма проекта, и после водружения на сервер, и запуска кода 500 ошибка вылетает почему то????


 
Соловьев   (2003-02-26 09:32) [4]

у меня все работает, как ты работаешь с базой, код пожалуйста.


 
vlad40   (2003-02-26 09:33) [5]

Честно говоря, не знаю, что ты имеешь в виду "cgi форма проекта". Формы в твоем проекте вообще быть не должно, форму надо удалить, иначе работать это не будет.


 
Hawk2   (2003-02-26 10:00) [6]

Актуальная тема, можно даже сказать наболевшая. Както месяца два назад я тоже задавал такой же вопрос и так не одного ответа не получил. Так что тебе phantom2040 повезло хоть чтото сказали, мне пришлось разбираться самому.

>vlad40 (26.02.03 09:21)
>А в чем проблема? С базой работаешь так же, как и в обычной >аппликации. Главное, чтобы не было визуальных компонентов. Бери >DataModule, ставь на него то, что тебе нужно, и работай >спокойно.
Как создать связь с базой это не проблема, ты бы лучьше подсказал как выводить данные в Explorer.

А тепер по теме. При создании CGI нужно открывать не обычный проэкт, а File->New->Web Server Application тогда не прийдется избавляться от формы и Делфи не цепляет лишние модули. А для вывода данных используй компоненты с закладки Internet.


 
Geka   (2003-02-26 10:13) [7]

Создавать приложение надо как Hawk2 сказал, а данные еще можно ручками html код добавить, для таблиц метки <TABLE>, <TR> и <TD>. Все просто.


 
vlad40   (2003-02-26 10:15) [8]

А что ты имеешь в виду (Hawk2) "как выводить данные в Explorer"? Как передавать данные из броузера в CGI?


 
phantom2040   (2003-02-26 10:27) [9]

извеняюсь за то что употребил неправильное определение форма ее нет в приложении а вот его код
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???????


 
Hawk2   (2003-02-26 10:59) [10]

>А что ты имеешь в виду (Hawk2) "как выводить данные в Explorer"? Как передавать данные из броузера в CGI?

Нет как передавать данные из базы в броузер. Я вообще-то знаю, я имел ввиду раскажи человеку.

>phantom2040 © (26.02.03 10:27)
Так как ты пишешь, это немного корявый способ, в Делфи есть примеры написания cgi, там все сделано через PageProducer, очень удобно особенно если страница содержит много кода и с сопровождением проблем нет.
Если очень надо я могу выслать на мыло пример своей гостевой книги. Работает с БД Access.




 
vlad40   (2003-02-26 12:29) [11]

А ты попробуй поставить

data:=TDataModule.Create(Application);

перед обращением к data



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.03.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
14-54277
uw
2003-02-28 15:18
2003.03.17
Что ответить дедушке


3-53887
Akim2
2003-02-24 18:22
2003.03.17
Помогите чайнику с определением поля


6-54127
Cosmic
2003-01-26 14:59
2003.03.17
Имена рабочих групп


7-54331
ledzzz
2003-01-15 15:51
2003.03.17
Com-порт


14-54218
Prizrak_Kommunizma
2003-03-03 09:30
2003.03.17
Кнопочки пищат





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский