Avatar billede lubker Nybegynder
10. juni 2005 - 10:47 Der er 8 kommentarer og
1 løsning

Mysql tabel > StringGrid

Hvordan henter jeg poster fra en tabel i en mysqldatabase til et stringgrid?

(Ikke selve forbindelsen med databasen, men udfyldelsen af stringgriddet)
Avatar billede kroning Nybegynder
10. juni 2005 - 11:01 #1
Hvilken del af det?
P.S. Jeg foretrækker at bruge ListView til det meste.
Avatar billede lubker Nybegynder
10. juni 2005 - 11:04 #2
Jamen hvorfor ikke?
Jeg skal have lavet en liste tilsvarende en tabel i html ud fra min database.
Avatar billede lubker Nybegynder
10. juni 2005 - 11:43 #3
Har aldrig brugt listview før, men har nu fundet ud af at sætte kolonnerne og overskrifterne.

OpretForbindelse();
SQLQuery.SQL.Text:='SELECT * FROM hold';
SQLQuery.Open;
form1.ListView1.Items.Add.Caption := SQLQuery.FieldByName('holdnavn').AsString;

Med følgende kode kan jeg indsætte 1. kolonne af 1. post, men hvad med resten?
har ikke arbejdet så meget med delphi og mysql før.
Avatar billede kroning Nybegynder
10. juni 2005 - 11:51 #4
Jeg kan lave et eks. men lige et ? først. Den listview du bruger skal den bruges til forskellige visninger eller kun de ene, spørgsmålet er om de enkelte kolonner skal oprettet design time, eller run time ud fra hvad tabellen indeholder?
Avatar billede kroning Nybegynder
10. juni 2005 - 11:58 #5
For at oprette kolonner i en ListView gør du følgende:
1. Sæt ViewStyle i Object Inspectoren til vsReport
2. Højre klik på ListView´en og vælg Columns Editor
3. Opret de Columns du vil ved at højre klikke i vinduet, bla. Caption kan så sættes i Object Inspector.
Avatar billede kroning Nybegynder
10. juni 2005 - 12:25 #6
Her er lige et eks. der går ud fra at du fra design time har oprettet de enkelte kolonner: (utestet)

  OpretForbindelse();
  SQLQuery.SQL.Text:='SELECT * FROM hold';
  SQLQuery.Open;
  while not SQLQuery.Eof do
  begin
    with ListView1.Items.Add do
    begin
      Caption:=SQLQuery.fieldByName('holdnavn').AsString;
      SubItems.Add(SQLQuery.fieldByName('nogetandet').AsString);
      SubItems.Add(SQLQuery.fieldByName('nogetnoget').AsString);
    end;
    DataSet.Next;
  end;

Dvs. den første kolonne er Caption, de efterfølgende er SubItems. Bemærk du kan godt fylde flere SubItems ind i din ListView end som du har oprettet kolonner til, de kan så bare ikke ses.
Avatar billede lubker Nybegynder
10. juni 2005 - 12:35 #7
Nærmer sig noget af det rigtige, men
DataSet.Next; er den ikke så glad for (Undeclared identifier)
Avatar billede lubker Nybegynder
10. juni 2005 - 12:40 #8
Ah SQLQuery...
Tak for hjælpen
Lægger du et svar?!?
Avatar billede kroning Nybegynder
10. juni 2005 - 13:58 #9
Ja self. SQLQuery.Next, jeg havde klippet og klistret lidt og lige glemt den.
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