Avatar billede iver25 Nybegynder
04. oktober 2001 - 09:26 Der er 7 kommentarer og
1 løsning

Hente en række i access

Jeg bruger en access database i mit Delphi 6 program, og jeg har problemer med at hente værdier fra databasen. Jeg kunne godt tænke mig at man kunne hente en hel række over i en TList. Kan det lade sig gøre? Hvad med indsættelse. Hvad bruger man til at sende en SQL-sætning afsted?
Avatar billede morten_s Nybegynder
04. oktober 2001 - 10:28 #1
Du kan koble dig til acces via BDE og ODBC

se http://www.eksperten.dk/spm/59652
Avatar billede iver25 Nybegynder
04. oktober 2001 - 10:35 #2
Det har jeg allerede gjort, og det ser ud til at virke fint nok. Men når jeg skriver tabelnavn. så kommer der så mange funktioner at jeg ikke kan overskue det. Hvilken en skal jeg bruge?
Avatar billede morten_s Nybegynder
04. oktober 2001 - 10:41 #3
Jeg forstår ikke helt hvad du gør, vil du have vist rækken i et dbGrid ?

Hvis du vil det skal du ligge et dataset på din form, koble det til din tabel.

herefter et dbgrid på formen som du kobler til dit dataset, når du sættet tabel avctiv kan du se din tabel i dbGriddet
Avatar billede iver25 Nybegynder
04. oktober 2001 - 10:49 #4
Jeg ville sådan set bare have en enkelt værdi f.eks navn fra en af rækkerne i tabellen. Men det er måske nemmest hvis man laver et DBGrid? Kan man dobbeltklikke i et DBGrid, og så få værdierne i den række lagt ud i fx editbokse?
Avatar billede morten_s Nybegynder
04. oktober 2001 - 11:16 #5
Navnet på rækken eller et navn som står i et felt ?
Avatar billede morten_s Nybegynder
04. oktober 2001 - 11:23 #6


Henter Navnet som står i feltet Id, som datasettet peger på:

Edit1.Text :=  DataSource1.DataSet.FieldByName(\'Id\').AsString;
Avatar billede morten_s Nybegynder
04. oktober 2001 - 11:29 #7
Hvis du vil kigge i Tabel direkte

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

Henter første værdi af Id, herefter kan du steppe dig frem og tilbage med:

Table1.First
Table1.Next
Table1.Prior
Table1.Last
Avatar billede morten_s Nybegynder
04. oktober 2001 - 11:33 #8
Eller hvis du gerne vil have navnet på alle rækkerne i din tabel så prøv nedenstående:

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  Info: String;
begin
  Info := \'The fields of table \' + Table1.TableName +
          \' are:\'#13#10#13#10;
  for i := 0 to Table1.FieldCount - 1 do
      Info := Info + Table1.Fields[i].FieldName + #13#10;
  ShowMessage(Info);
end;
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