Avatar billede clscableguy Praktikant
21. juli 2003 - 08:43 Der er 12 kommentarer og
1 løsning

Hvordan får jeg data ind og ud af en access db?

Jeg har en access db som ligger på en webserver.

Jeg vil gerne have så jeg kan hente data ud af databasen.
Det skal selvfølgelig også være sådan at jeg kan opdatere data i databasen.

Please help
Avatar billede arne_v Ekspert
21. juli 2003 - 08:54 #1
Din Access database ligger på en web-server og din Delphi applikation
ligger på en anden maskine og denne anden maskine har ikke adgang
til at mappe et netværks-drev til web-server maskinen ?

Så kan du ikke få Delphi til at snakke direkte med Access databasen !
Du vil være nødt til at sende HTTP requests til web-serveren og så lade et
ASP/PHP/whatever script accesse databasen.

MySQL eller en anden database server havde givet bedre muligheder.
Avatar billede clscableguy Praktikant
21. juli 2003 - 08:56 #2
Hvilke muligheder ville jeg have med f.eks mysql?
Avatar billede clscableguy Praktikant
21. juli 2003 - 08:58 #3
Kan man ikke lave en web applikation i delphi der kan løse problemet med access db?
Avatar billede arne_v Ekspert
21. juli 2003 - 09:13 #4
Med MySQL kan du connecte over TCP/IP til en anden server.

Hvis du laver en Delphi kompoent der kører på web-servern kan den
sagtens bruge Access databasen.

Du kan også godt lave enn Delphi komponent der kan køres via browseren.
F.eks. som et såkaldt CGI-script (der altså godt kan være ægte
compilede executables).
Avatar billede clscableguy Praktikant
21. juli 2003 - 09:20 #5
Tak.

Du har vel ikke lige et eks. på sådan et cgi-spript lavet i delphi?
Avatar billede arne_v Ekspert
21. juli 2003 - 09:29 #6
CGI er gammel teknologi. Meget gammel teknologi.

En Google search gav:
  http://tothpaul.free.fr/uscgi.htm
  http://delphiwebdeveloper.virtualave.net/eng/projects/isapi/
Avatar billede borrisholt Novice
21. juli 2003 - 09:44 #7
man bruger WEB Services i dag
Avatar billede clscableguy Praktikant
21. juli 2003 - 09:49 #8
Har du et eksempel?
Avatar billede borrisholt Novice
21. juli 2003 - 10:05 #9
Det følger med sammen med din Delphi
Avatar billede arne_v Ekspert
21. juli 2003 - 10:32 #10
En Web Service er strengt taget ikke en implementation kun et interface.

Det er en HTTP request som kommer ind med noget XML og et eller andet
svarer tilbage med noget XML. Der er så bare en standard for hvordan
den XML skal se ud, hvilket har nogle store fordele.

Men Web Service begrebet siger ikke noget om hvad "et aller andet"
er. For Java vil det være en servlet. For .NET vil det være ASP.NET.
Jeg ved ikke hvad Delphi bruger. Den kunne bruge et CGI-script,
men det tror jeg nu ikke. Måske genererer Delphi et ISAPI modul.
Jeg ved det ikke. Men der skal være et eller andet behind the scene.
Avatar billede janbb Juniormester
21. juli 2003 - 11:21 #11
Hvis du bruger web-broker kan du få vist dine data med en procedure a la denne:
Avatar billede janbb Juniormester
21. juli 2003 - 11:21 #12
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
    sl:tstringlist;
  t:integer;
begin

    sl:=TStringList.Create;
  try

    Response.ContentType:='text/html';
    sl.add('<html><head></head><body><BODY bgcolor="#000080" text="#ffffff" link="#FF00FF" vlink="#FFCC66" alink="#FF0000"><CENTER>');
   
    Table1.Open;

    sl.add('<p><table border="0">');
        sl.add('<tr>');
    for t:=0 to query1.Fields.Count -1 do
    begin

    end;

        While not query1.Eof do
    begin

            sl.add('<tr>');
      for t:=0 to query1.Fields.Count -1 do
      begin
          if query1.fields[t].IsNull
        then
            sl.add( format('<td>%s</td>',['<font color="silver" size="-2"><null></font>']) )
        else

        sl.add( format('<td>%s</td>',[query1.fields[t].Displaytext]) );
        sl.add( format('<td>%s</td>',[query2.fields[t].Displaytext]) );

      end;
            sl.add('<tr>');
      query1.Next;
      query2.Next;
    end;

    sl.add('</table>');
    sl.Add('</body></html>');
    response.content:=sl.Text;
    finally
      sl.Free;
  end;
  end;
Avatar billede janbb Juniormester
21. juli 2003 - 11:26 #13
Du kan så styre dit output med din SQL.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester