Avatar billede visuel Nybegynder
01. april 2004 - 21:30 Der er 14 kommentarer og
2 løsninger

Udtræk fra Access database

Hvordan kan man fra Delphi Udtrække nogle data fra en Access-database?? Dataene skal vises i TDBEdit felter.
Jeg har oprettet felterne og forbindelsen med ADO.
Avatar billede visuel Nybegynder
01. april 2004 - 21:42 #1
og hvorfor kan man ikke skrive i et TDBEdit felt??
Avatar billede hrc Mester
01. april 2004 - 22:37 #2
Det kan man da også. Igen, for jeg har skrevet det før, så tager man en TADOTable, en TDataSource og en TDBEdit og så er man kørende - det vil sige, du har sandsynligvis glemt at sætte ADOTable'ns TableDirect = true. Måske har du endvidere glemt at sætte DataField i TDBedit'en. Hos mig virker det "glimragende".
Avatar billede snowball Novice
01. april 2004 - 22:45 #3
Og så er der os der foretrækker at lave det hele selv, uden brug af DB komponenterne ;)

Prøv evt. og kig lidt på http://exp.geertsen.dk/ADOTest.zip
Avatar billede hrc Mester
02. april 2004 - 01:31 #4
Jep - vi er nogle stykker der foretrækker dette ...
Avatar billede janbb Juniormester
03. april 2004 - 04:52 #5
Data bliver vel vist i de felter de nu engang er oprettet i ?.Udtræk ?.Du må vist beskrive dit problem noget bedre.Er du ude efter en liste af et bestemt felt eller hvad er vi ude i: Quickreport, SQL eller noget mere smart.

Martinlind tror jeg det var her på eksperten lavede fx engang denne lille procedure:

procedure TForm1.Button3Click(Sender: TObject);

VAR

  L : TStringList;

begin
  L := TStringList.Create;
  query1.First;
  while not query1.eof do
  begin
      L.Text := L.Text + DbMemo1.Lines.Text;
      query1.next;
  end;
  L.SaveToFile('memofile.htm');
  L.Free;
end;

Der lister alle memoer i en query og gemmer dem i en htm-fil.

Kan sikkert laves med et edit-felt osse.
Avatar billede visuel Nybegynder
03. april 2004 - 10:55 #6
Først undskyld den lange svartid :)

Det jeg skal bruge er, at jeg at har en række almindelige(TDBEDIT) textfield felter. I disse textfields skal jeg have hentet data ind fra en accessdb. Jeg har skabt forbindelsen til db vha diverse db-komponenter, men jeg skal finde ud af hvordan jeg får fat i den første post i db. Kunne forestille mig at det var noget sql der skulle bruges. ex. I db'en har jeg en attribut der hedder Firma, denne post skal hentes ind i et textfield der hedder firmaEdit i mit delphi-prog.

Det andet problem med at jeg ikke kan skrive  mine textfields er, at når jeg står i et textfield og trykker på tastaturet sker der intet. Dette fænomen sker kun når jeg bruger TDBEdit. Når jeg bruger almindelige TEdit virker det fint.

Håber det hjalp lidt på forståelsen :)

Det skal lige siges at jeg sagtens kan programmere sql og java, men er helt ny til Delphi, så jeg skal bare finde ud af hvordan delphi håndterer tingene og hvor man skal skrive hvilke koder.
Avatar billede janbb Juniormester
03. april 2004 - 15:57 #7
Jeg tror jeg forstår noget af det du siger - er langfra sikker, men..

1. Du vil ha data fra een DB hentet ind i en anden DB ?

  Det er ikke nogen 'begynder'-affære.Der er et navn for det (
  skal prøve at komme i tanke om det) og der findes osse alternative
  metoder, men oftest lidt 'nødløsnings'-prægede.

2. Når du bruger SQL i delphi-db'er kan man ikke opdatere/ændre -det
    er kun til at finde/gennemse db'en.Du kan imidlertid da forholdsvis
    let have en ikke-sql-version løbende i samme program og kalde den pågældende
    record når du ønsker at ændre noget.

  3. Første-post i db: der findes kommandoer med spilleregler til disse
    'transaktioner.Næste-post, sidste-post osv.Kan være noget forvirrende
      (jeg bliver i hvertfald tit narret når jeg prøver at bruge dem), men
      det eksempel snowball nævner er slet ikke dårligt til at få en
      forsmag på disse spilleregler.

  4. Det kan være svært at udtrykke de ting man stræber efter, især hvis
    man (som mig fx) ikke er mester i terminologien.Det er alt for tit
    der snakkes forbi hinanden og gode spm. på den måde løber ud i sandet.
    et er ikke noget uinteressant spm. du har stillet.Med lidt snilde må
    du kunne nå frem til at få løst dit problem.Du behøver nok ikke føle
    dig stresset m.h.t. svartider :)
Avatar billede janbb Juniormester
03. april 2004 - 16:25 #8
Hvis ikke du vil operere med 2 DB'er kan du fx
vælge dit 'udtræk' efter forsk. sql-kommandoer du
plac. i en combobox.

procedure TForm1.Button13Click(Sender: TObject);
begin
Query1.close;

//Query1.SQL.Text:=Edit1.Text;

Query1.SQL.Text:=Combobox1.Text;
Query1.Open;
end;

  (hvis du vil redigere rec's må du hente DB ind
via en non-query-datasource).

  Dine datafelter skal ha queryen som datasource

(modsat din non-query-model, når du vil editere)

  Du skal self. bruge ADA-komponenter, når det er det du har.

  (principielt samme kommandoer i eksemplet)
Avatar billede janbb Juniormester
03. april 2004 - 16:31 #9
Der er osse nogle småting, hvis man er ny i Delphi:
datafelterne skal 'hentes ind' i resp. felter (højreclick)
og queryen skal sættes til aktiv (skal gentages hver gang
der ændres i den jo).
Avatar billede janbb Juniormester
03. april 2004 - 16:37 #10
det der med first og next:

  Du kan initialt bruge en 'navigater' eller en 'grid',
der jo giver aut. mulighed for at 'bladre' i rec.s.
Det med at programmere 'egne knapper' er ikke lige
det man starter ud med at eksperimentere i.
Avatar billede janbb Juniormester
03. april 2004 - 16:39 #11
delphis SQL kan godt divergere en smule fra ndre sprog - kig fx her:
http://www.delphi-dolphin.com/tutorials.php?id=502
Avatar billede visuel Nybegynder
03. april 2004 - 19:36 #12
Snowball >> Hvad er forskellen på TADODataset og TADOCommand?? SKAL man bruge TADOCommand til UPDATE, INSERT & DELETE??
Avatar billede snowball Novice
03. april 2004 - 19:43 #13
Ja
Avatar billede visuel Nybegynder
03. april 2004 - 22:52 #14
ok, Takker for svarene.

Snowball, hvis du lige smider et svar kan du også få del i pointene, da det egentlig var dit svar (eksempel) der tændte lyset ;)
Avatar billede snowball Novice
03. april 2004 - 22:54 #15
:)
Avatar billede visuel Nybegynder
03. april 2004 - 23:03 #16
Takker mange gange..

Måske er der også lidt point at hente her:

http://www.eksperten.dk/spm/485520

;)
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