Avatar billede madd Nybegynder
03. oktober 2001 - 14:43 Der er 28 kommentarer og
1 løsning

dbExpress og MySQL!

Dav derude!

Har lidt spm. omkring MySQL / dbExpress.

1.) Hvordan connecter man til MySQL Serveren?
2.) Hvordan udfører man en query med \"SQLQuery\" ?\'
3.) Hvordan henter man data ud i f.eks. en memo ?

- Mattias
Avatar billede morten_s Nybegynder
03. oktober 2001 - 14:46 #1
1. Du connecter vi componenten SQLConnection, her er det vigtigt at du har den rigtige libMySQL.dll, du kan få en kopi af min

2. Eksempel på SQLQuerry:
SQLQuery1.DisableControls;
  SQLQuery1.SQL.Clear;
  SQLQuery1.SQL.Add ( \'insert into MinTabel (id, intName) Values(\'\'10\'\', \'\'hest\'\')\' );
  SQLQuery1.ExecSQL(false);
  SQLQuery1.EnableControls;
  SQLClientDataSet1.Close;
  SQLClientDataSet1.Open;

3. I et SQLClientDataset
Avatar billede madd Nybegynder
03. oktober 2001 - 14:48 #2
Fint, nu har jeg added SQLConnection, men hvor kan jeg f.eks. indtaste user / pass / host osv?
Avatar billede madd Nybegynder
03. oktober 2001 - 14:50 #3
ah.. der :)
Avatar billede morten_s Nybegynder
03. oktober 2001 - 14:50 #4
Dobbelklik på dit SQLConnection icon, og add en ny MySql connection i editoren som popper op, og indtast dine data her
Avatar billede madd Nybegynder
03. oktober 2001 - 14:58 #5
mystisk.. får en: \"Access violation at address 01266D84 in module \'LIBMYSQL.dll\'. Read of address 0000000C\"

Har added en SQLConnection, SQLClientDataSet, SQLQuery, og skrevet det du har sagt :)
Avatar billede morten_s Nybegynder
03. oktober 2001 - 14:59 #6
Det er fordi det ikke er den rigtige libmysql du har ;-))

Har selv brugt en lille uges tid på at finde ud af det
Avatar billede madd Nybegynder
03. oktober 2001 - 15:02 #7
Hehe, ok.

Du kan sende den til mattias@interactiveweb.dk - eller har du icq ?
Avatar billede morten_s Nybegynder
03. oktober 2001 - 15:02 #8
Lig din mail adr. og jeg skal sende den rigtige til dig
Avatar billede madd Nybegynder
03. oktober 2001 - 17:00 #9
ja, skal jeg så regge den med regsvr32 ?
Avatar billede morten_s Nybegynder
03. oktober 2001 - 20:32 #10
Nej du kan connecte direkte med den dll jeg sendte til dig
Avatar billede madd Nybegynder
05. oktober 2001 - 17:30 #11
hvordan skal jeg \"connecte direkte med den dll\" ?
Avatar billede morten_s Nybegynder
05. oktober 2001 - 18:28 #12
Når du sætter proppertye Connected til True, så skal du gerne være connected ;-)
Avatar billede madd Nybegynder
05. oktober 2001 - 23:06 #13
ok, måske er jeg ikke helt erfaren i dette med delphi / mysql - men hvor skal jeg lægge dll\'en henne ?! :)
Avatar billede morten_s Nybegynder
06. oktober 2001 - 10:58 #14
I SQLConnection propertyen, vendorlib angiver du sti og filnavn f.eks:

c:\\mysql\\libmysql.dll

eller du placere libmysql.dll sammen med dit projekt, så kan du nøjes med at skrive libmysql.dll i vendorlib
Avatar billede madd Nybegynder
06. oktober 2001 - 12:39 #15
Ok, du har klart fortjent points.. :-)

Kan jeg evt. skrive en mail til dig hvis jeg løber ind i problemer?
Avatar billede morten_s Nybegynder
06. oktober 2001 - 12:44 #16
Fik du connected ?

du må gerne sende en mail til mig, eller lig dit ? her, det kan være der er andre som kan svare bedre end mig

mvh
Morten
Avatar billede madd Nybegynder
06. oktober 2001 - 18:21 #17
ok, tvivler bare på hvor mange der kommer forbi her ;)
Avatar billede madd Nybegynder
06. oktober 2001 - 18:45 #18
kan du evt. prøve at komme med et eks. på hvordan jeg henter data ud fra db\'en ?
Avatar billede madd Nybegynder
06. oktober 2001 - 18:46 #19
tænker mere på hvordan jeg får smidt en streng fra db\'en over i et edit felt :)
Avatar billede madd Nybegynder
06. oktober 2001 - 18:50 #20
Det er faktisk lidt sjovt.. den kommer frem med en fejl om at den ikke kan finde table / db eller class.. men alligvel adder den data\'en ?!
Avatar billede morten_s Nybegynder
06. oktober 2001 - 19:46 #21
et lille eksempel:

Lad os antage at den første række i din tabel hedder Id, nedenstående kode skriver ID nr på første post i dit edit felt:

procedure TForm1.Button1Click(Sender: TObject);
begin
  SQLClientDataSet1.Open;
  SQLClientDataSet1.First;
  Edit1.Text := SQLClientDataSet1.FieldByName(\'Id\').AsString;
end;

så kan du bruge SQLClientDataSet1.Next, SQLClientDataSet1.Prior, SQLClientDataSet1.First, SQLClientDataSet1.Last til at steppe dig igennem dit dataset.

Hvis du har et dbGrid på din form så prøv at sæt en dbNavigator på formen og lad den pege på dit dataset, så kan du steppe frem og tilbage i dit dataset
Avatar billede madd Nybegynder
07. oktober 2001 - 22:33 #22
OK.. men kan jeg f.eks. hente id ud via en SQL sætning?

\"SELECT * FROM table WHERE name = \'\'blabla\'\'\"

?
Avatar billede madd Nybegynder
13. oktober 2001 - 16:01 #23
Sender dig en e-mail - du får 10 points hvis du svarer på det ovenstående spørgsmål :)
Avatar billede morten_s Nybegynder
13. oktober 2001 - 16:03 #24
Jeg ser først dit ? nu

Hvilken id er det du vil hente den på den første post eller ?
Avatar billede morten_s Nybegynder
13. oktober 2001 - 16:12 #25
Sådan her ?

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.close;
  Query1.SQL.Text := \' SELECT * FROM MinTabel WHERE Name =\'\'hest\'\'\';
  Query1.Open;
  Edit1.Text := IntToStr(Query1.FieldByName(\'Id\').asInteger);
end;

mvh
/morten
Avatar billede morten_s Nybegynder
13. oktober 2001 - 16:13 #26
Bemærk MinTabel skal udskiftes med dit TabelNavn,

Er der flere med name=\'hest\' så får du id på den første
Avatar billede madd Nybegynder
13. oktober 2001 - 16:34 #27
hvad vil jeg vil lave et loop med informationerne ? hvis nu der er flere med name = hest ?
Avatar billede morten_s Nybegynder
13. oktober 2001 - 16:56 #28
Ja så er det 15 point *GGG*



procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.close;
  Query1.SQL.Text := \' SELECT * FROM MyTable WHERE Name =\'\'hest\'\'\';
  Query1.Open;
  while not Query1.Eof do
  begin
    ListBox1.Items.Add(IntToStr(Query1.FieldByName(\'Id\').asInteger));
    Query1.next;
  end;
//edit1.Text := IntToStr(Query1.FieldByName(\'Id\').asInteger);
end;
Avatar billede madd Nybegynder
13. oktober 2001 - 17:26 #29
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

IT-JOB