Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.26;
Скачать: CL | DM;

Вниз

Web приложение   Найти похожие ветки 

 
tomkat   (2008-08-11 13:59) [0]

Hi, All ! Не подскажет ли кто, с чего начать решение сл. задачки :
необходимо реализовать запрос к базе FireBird с WEB броузера, имеется web сервер Apache2, толком в нем не разбираюсь..  Насколько я понял, необходимо 3 звено, к-е будет посылать запросы к SQL серверу и отдавать  Apache ? Просьба ногами сразу не бить ! Заранее спасибо !


 
stas ©   (2008-08-11 14:05) [1]

Нужно писать программу на php или perl точно незнаю (что поддерживает этот сервер), которая делает запрос к sql серверу и на основании этих данных формирует html страничку.


 
Anatoly Podgoretsky ©   (2008-08-11 14:05) [2]

> tomkat  (11.08.2008 13:59:00)  [0]

Это третье звено Apache2


 
Плохиш ©   (2008-08-11 14:06) [3]


> stas ©   (11.08.08 14:05) [1]
> Нужно писать программу на php или perl точно незнаю

Ой, а можно на делфи написать?


 
Alucard   (2008-08-12 01:23) [4]

На делфи нельзя. Можно на php, если он установлен с апачем или на java, если используется tomсat. Веб браузер будет устанавливать соединение с apach-ем и отправлять запрос. Apache, в зависимости от выбора, будет вызывать пхп, который, согласно коду в php-скрипте, будет соединяться с firebird, выполнять запрос и форматировать результат в HTML. Если будет java - все то же самое, только вместо php-интерпретатора будет работать servlet-контейнер. Используйте java, в карьере пригодится. На php можно писать в zend studio, на java - в netbeans.


 
Anatoly Podgoretsky ©   (2008-08-12 08:40) [5]


> На делфи нельзя.

Запрещаешь? или точно знаешь?
А что делать нам, которые этого не знали?


 
tomkat   (2008-08-12 11:09) [6]


> На делфи нельзя.

а как на счет штатной компоненты
TDataSetTableProducer, TSQLQueryTableProducer и TDataSetPageProducer ?
http://sources.ru/kylix/kylix_art6.shtml


 
Плохиш ©   (2008-08-12 12:59) [7]


> Alucard   (12.08.08 01:23) [4]
> На делфи нельзя.

Шёл бы ты, запретитель, куда подальше...


 
Сергей М. ©   (2008-08-12 13:04) [8]


> запрос к базе FireBird с WEB броузера


А Апач тут причем ?

http-запрос и sql-запрос - две разные разницы ...


 
stas ©   (2008-08-12 16:57) [9]

Anatoly Podgoretsky ©, Плохиш ©   (12.08.08 12:59)

Написать, то можно. Вы где нибудь встречали профессиональные вэб сайты написанные на Delphi?

Anatoly Podgoretsky
Почему же вы свой не написали на Delphi?


 
Плохиш ©   (2008-08-12 17:30) [10]


> Вы где нибудь встречали профессиональные вэб сайты написанные
> на Delphi?

Если приведёшь критерии для "профессиональные вэб сайты"...
2 сайта для оформления страховых договоров пойдут?


 
Ega23 ©   (2008-08-12 17:35) [11]

Надо написать что-то, что на WEB-сервере будет транслировать твой http-запрос в базу и формировать http-ответ.
Например - CGI-программу.

Пример - в демосах. Или вот, самый простой:


program mssql_test;

{$APPTYPE CONSOLE}
{$E cgi}
uses
 SysUtils,
 Classes,
 uMSSQLData in "uMSSQLData.pas";

var
 List : TStringList;
 Data : TMSSQLData;
begin
 WriteLn("content-type: text/html");
 WriteLn;
 List := TStringList.Create;
 Data := TMSSQLData.Create;
 try
   Data.GetData(List);
 finally
   Data.Free;
   List.Free;
 end;
end.

unit uMSSQLData;

interface

uses SysUtils, Classes, DB, ADODB;

type

 TMSSQLData = class
 private
   Connection : TADOConnection;
   DataSet : TADODataSet;
   procedure CreateHeader(List : TStrings);
   procedure CreateFooter(List : TStrings);
 public
   constructor Create;
   destructor Destroy; override;
   procedure GetData(Result : TStrings);
 end;

implementation

{ TMSSQLData }

//*****************************************************************************

constructor TMSSQLData.Create;
begin
 DataSet := TADODataSet.Create(nil);
 DataSet.CommandText := "Select * from BusinessActions";

 Connection := TADOConnection.Create(nil);
 Connection.ConnectionString := "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sline;Initial Catalog=SLUSR;Data Source=DEV_PC";

 DataSet.Connection := Connection;

end;

//*****************************************************************************

procedure TMSSQLData.CreateFooter(List: TStrings);
begin
 List.Add("</BODY></HTML>");
end;

//*****************************************************************************

procedure TMSSQLData.CreateHeader(List: TStrings);
begin
 List.Add("<HTML><HEAD><TITLE>MSSQL Data Test</TITLE></HEAD><BODY>");
end;

//*****************************************************************************

destructor TMSSQLData.Destroy;
begin
 DataSet.Free;
 Connection.Free;
 inherited;
end;

//*****************************************************************************

procedure TMSSQLData.GetData(Result: TStrings);
begin

 CreateHeader(Result);

 try
   Connection.Connected := True;
   with DataSet do
   begin
     Open;
     Result.Add("<TABLE>");
     while not Eof do
     begin
       Result.Add("<TR>" + FieldByName("BANam").AsString + "</TR>");
       Next;
     end;
     Result.Add("</TABLE>");
   end;

 except on E : Exception do
   begin
     Result.Add("Ошибка получения данных");
     Result.Add(E.Message);
   end;
 end;

 CreateFooter(Result);
end;

//*****************************************************************************

end.



 
Ega23 ©   (2008-08-12 17:37) [12]


> Написать, то можно. Вы где нибудь встречали профессиональные
> вэб сайты написанные на Delphi?


А какая к дьяволу разница, на чём написан cgi????


 
han_malign ©   (2008-08-12 17:38) [13]


> Написать, то можно. Вы где нибудь встречали профессиональные
> вэб сайты написанные на Delphi?

- поддержка хостером Win32-CGI встречается, как минимум, не реже чем поддержка PHP/Java/etc. сервлетов...


 
Ega23 ©   (2008-08-12 17:39) [14]

Стоп. в [11] недоделано. Это из бэкапа прототип был взят.
Там ещё CoInitialize и CoUninitialize надо добавить, и writeln для StringList-а.


 
Игорь Шевченко ©   (2008-08-12 17:39) [15]


> Вы где нибудь встречали профессиональные вэб сайты написанные
> на Delphi?


а где в вопросе автора речь о профессиональных веб-сайтах ?


 
stas ©   (2008-08-12 17:45) [16]

Плохиш ©   (12.08.08 17:30) [10]

> 2 сайта для оформления страховых договоров пойдут?

нет конечно
Ega23 ©  
Проблематично менять дизайн и настраивать тоже.

Игорь Шевченко ©   (12.08.08 17:39) [15]
Зачем изучать как сделать это на Delphi, когда проще и полезнее изучить php.


 
stas ©   (2008-08-12 17:47) [17]

stas ©   (12.08.08 17:45) [16]


> Игорь Шевченко ©   (12.08.08 17:39) [15]
> Зачем изучать как сделать это на Delphi, когда проще и полезнее
> изучить php.

Это мое субъективное мнение.


 
Игорь Шевченко ©   (2008-08-12 17:53) [18]


> Зачем изучать как сделать это на Delphi, когда проще и полезнее
> изучить php.


Проще и полезнее изучать ASP.Net


 
Плохиш ©   (2008-08-12 19:26) [19]


> stas ©   (12.08.08 17:45) [16]
> Плохиш ©   (12.08.08 17:30) [10]
>
> > 2 сайта для оформления страховых договоров пойдут?
>
> нет конечно

Собственно, другого и не ожидалось...


 
stas ©   (2008-08-12 21:59) [20]

Игорь Шевченко ©   (12.08.08 17:53) [18]
Согласен.
Ну, если Apache, то php


 
Сергей М. ©   (2008-08-12 22:14) [21]


> если Apache, то php


Да с какого боку тут вообще Апач ?

Автор спросил


> к базе FireBird с WEB броузера


Апач знать не знает ни про какие FB и иже с ними - он Web-сервер, а не SQL-сервер)


 
stas ©   (2008-08-12 23:17) [22]


> имеется web сервер Apache2, толком в нем не разбираюсь.


 
Anatoly Podgoretsky ©   (2008-08-13 00:49) [23]

> stas  (12.08.2008 21:59:20)  [20]

Только Дельфи


 
имя   (2008-08-18 03:56) [24]

Удалено модератором


 
имя   (2008-09-18 07:45) [25]

Удалено модератором


 
Ega23 ©   (2008-09-18 08:28) [26]


> Ну, если Apache, то php


можно вообще без всяких php. И даже без каких-либо модов. Голый апач + cgi. А на чём написана cgi - это вопрос к разработчику. Хоть на вижуал басике.



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

Текущий архив: 2008.10.26;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.016 c
2-1221546073
dmitry_12_08_73
2008-09-16 10:21
2008.10.26
Определение идентификатора потока


4-1198486278
lead-in
2007-12-24 11:51
2008.10.26
функции RAS


15-1220290532
Простой
2008-09-01 21:35
2008.10.26
ИК датчик движения, контакт GND


2-1221721274
AlekseyB
2008-09-18 11:01
2008.10.26
Подскажите как написать запрос !!!


2-1221676471
Евгений Р.
2008-09-17 22:34
2008.10.26
Активная форма MDI приложения