Avatar billede agent29 Nybegynder
18. august 2001 - 14:18 Der er 4 kommentarer og
1 løsning

MySQL og results

Hej Eksperter,

Jeg har kastet mig ud i noget database-halløj med delphi Zeos\' mysqlkomponenter, men jeg er lidt \"grøn\" på dette område. Jeg skal have læst noget data ind i nogle variabler, som jeg kan gøre med f.eks. PHP sådan:

$result = mysql_query(\"SELECT * FROM table WHERE ID = $ID\", $link);
  while ($row = mysql_fetch_row($result)) {
  $foo = $row[0];
  $bar = $row[1];
  }

Men hvordan gør jeg det med delphi? Noget i retningen af dette måske:

procedure getdata(ID: string);
var
    foo, bar : string;
begin
    Query.Sql.Text := \'SELECT * FROM table WHERE ID=ID\';
    Query.Active := True;
    Query.Open;
//    Hvordan forsætter jeg?
//    Query.CopyRecord måske?
end;

Da jeg både har billeder og tekst i databasen, skal det virke for begge typer

Mvh
Tonni Aagesen
Avatar billede morten_s Nybegynder
18. august 2001 - 16:31 #1
Hej Tonni velkommen fra Zeosdbo ;-))

Du skal tilforordne et dataset til dit Query
og gøre på følgende måde

with DataSource.DataSet do
  begin
    for i := 0 to RecordCount-1 do
    begin
      if FieldByName(\'ID\').AsInteger = ID then
      begin
        VarArray[i].Felt1  := FieldByName(\'Felt1\').AsInteger;
      VarArray[i].Felt2  := FieldByName(\'Felt2\').AsInteger;
  end;

Avatar billede morten_s Nybegynder
18. august 2001 - 16:33 #2
Hvorfor bruger du Zeos\'s MySQL komponenter, du kan bruge de almindelige DB komponenter i Delphi 5, og så koble op til MySQL via ODBC.

Har du Delphi 6 er der en opdatering lige på trapperne så du kan koble dig op imod MySQL med dbExpres komponenterne
Avatar billede agent29 Nybegynder
18. august 2001 - 16:41 #3
Hej Morten og tak for indbydelsen :-)

Jeg sidder med en D4 standard (gratis), da jeg ikke synes min SU rækker til en D6 pro. Jeg har dog købt en gammel D3 pro med licens, som jeg kan opgradere, når jeg får den.

Anyway, jeg kigger lige lidt på dit svar, tak!
Avatar billede morten_s Nybegynder
18. august 2001 - 17:03 #4
Ellers vender du bare tilbage
Avatar billede agent29 Nybegynder
18. august 2001 - 17:18 #5
OK, det virker fint :-)

Men jeg har dog stadig et problem:
Jeg har to query\'s der knytter sig til den samme DB. Den første (query1) henter samtlige overskrifter og smider dem ind i et DBGrid. Når man så klikker på en række i grid\'en pop\'er et child-vindue op med resten af informationerne knyttet til den række (query2). Men jeg får en \"Field not found\" fejl på query2. Hvis jeg tilføjer feltet i query1 fungerer det.
Hvordan knytter jeg dit forslag til en bestemt query?
Og hvad skal jeg bruge i stedet for .AsString når det gælder billeder?
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