Avatar billede skodder Nybegynder
09. maj 2003 - 00:58 Der er 15 kommentarer og
1 løsning

Opdatering i database??

Hej, jeg er ikke nogen delphi nød, men jeg sidder med et program hvor jeg skal ligge nogle databaser ind, og kan lille noget ind i databasen, det virker også fint, den ligger det ind, men den opdatare ikke min DBGrid, så jeg skal lukke programmet ned for at starte det op igen for at se den opdaterede database.
Hvordan kan jeg gøre så den opdaterer med det samme jeg smider noget ind i databasen??
På forhånd tak =)
Avatar billede mortrr Praktikant
09. maj 2003 - 01:35 #1
Er det ikke noget med at kalde Refresh på det dataset du bruger?

(altså ikke refresh på dbgrid, men på dbgrid.datasource)
Avatar billede mortrr Praktikant
09. maj 2003 - 01:42 #2
dbgrid.datasource.dataset.refresh
Avatar billede skodder Nybegynder
09. maj 2003 - 12:40 #3
Tak, vil lige spørge først, hvor skal jeg skrive det henne??
Avatar billede mortrr Praktikant
09. maj 2003 - 14:14 #4
Du kan gøre det i en event på dbgrid.
Jeg har ikke Delphi her, så jeg kan ikke lige sige hvad den hedder.
Avatar billede skodder Nybegynder
09. maj 2003 - 14:18 #5
Hmm kan ikke lige finde den, håber der er en anden der lige kan forklare nærmere.
Men tak for det =)
Avatar billede skodder Nybegynder
09. maj 2003 - 14:27 #6
Hmm skulle måske lige skrive at det er Delphi 4 jeg kører i.
Avatar billede mortrr Praktikant
09. maj 2003 - 14:34 #7
Jeg har kun Delphi 7, men mon ikke den hedder det samme.
Kigger når jeg kommer hjem.
Avatar billede skodder Nybegynder
09. maj 2003 - 14:36 #8
oki takker.
Avatar billede mortrr Praktikant
09. maj 2003 - 17:45 #9
Det bedste må blive at sætte den på OnDataChange på din DataSource.
Avatar billede skodder Nybegynder
09. maj 2003 - 17:48 #10
Nu er jeg som sagt ikke god til det her, men under event på min datasource, der er der "OnDataChange" ja, hvad skal jeg skrive der??
Avatar billede mortrr Praktikant
09. maj 2003 - 17:57 #11
Dobbelt-klik i den, så den opretter en procedure, og skriv
self.dataset.refresh;

Havde Delphi 4 ikke self?
Eller skriver du et fuldt navn, fx
DataSource1.DataSet.Refresh;
Avatar billede skodder Nybegynder
09. maj 2003 - 18:04 #12
Hmm den første ville den ikke godtage.

Den anden giver en "access violation" som jeg ikke rigtigt forstår.
Avatar billede mortrr Praktikant
10. maj 2003 - 16:05 #13
Det burde ellers være den rigtige metode.

Har du installeret nogen Update Packs?
Du skal som minimum have 1'eren.

http://info.borland.com/devsupport/delphi/downloads/index.html#Delphi%204
Avatar billede skodder Nybegynder
10. maj 2003 - 16:07 #14
Hmm underligt noget, men det er til en eksamens opgave, så vores lærer skal også kunne køre det, så selv om jeg vil få det til at virke med en update, så vil hans ikke virke, og det kan han jo så ikke forstå.
Men så er der jo ikke noget at gøre ved det =(
Avatar billede mortrr Praktikant
10. maj 2003 - 16:36 #15
Den eneste anden metode jeg kender er at lukke og åbne dit dataset hver gang du laver en opdatering.
Men det er altså også laaang tid siden jeg brugte Delphi 4.

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
var B: TBookmark;
begin
datasource1.DataSet.DisableControls;
  try
    B := datasource1.DataSet.GetBookmark;
    try
      datasource1.DataSet.Close;
      datasource1.DataSet.Open;
      datasource1.DataSet.GotoBookmark(B);
    finally
      datasource1.DataSet.FreeBookmark(B);
    end;
  finally
    datasource1.DataSet.EnableControls;
  end;
end;
Avatar billede skodder Nybegynder
10. maj 2003 - 16:38 #16
oki takker, hvis ikke det virker så må jeg bare lave programmet uden det.
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