Avatar billede tokelil Nybegynder
08. august 2001 - 00:56 Der er 4 kommentarer og
1 løsning

Fejl ved brug af Query1->FieldValues til opdatering af DB

I et projekt jeg laver i Builder har jeg et Query component(Query1), som jeg bruger til at kontakte en Access DB med. Jeg har ingen problemer med at hente data fra den via: Query1->FieldValues[\"Udløber\"];

Men et andet sted i DB\'en skal jeg opdatere DB\'en og det ville jeg gøre med: (Kunne godt gøre det via en SQL string går jeg ud fra, men dette ville være nemmere)

    Query1->SQL->Clear();
    Query1->SQL->Add(\"SELECT * FROM Tabel1 WHERE Medlemsnr = 1;\");
    Query1->Open();
    Query1->FieldValues[\"Udløber\"] = TDate(\"23-03-1981\");
    Query1->Close();

Jeg får ingen kompiler fejl, men får følgende fejl når jeg vil udføre ovenstående:
\"Query1: Dataset not in edit or insert mode.\"

Nogen der har en ide til hvad jeg skal gøre for at kunne gøre noget lignende ovenstående. (Ikke via SQL)

På forhånd tak...
Toke Noer
Avatar billede erikjacobsen Ekspert
08. august 2001 - 00:59 #1
Skal du ikke bare sige
Query1->Edit();
inden for at bringe den i edit-mode? Hmm, det er nok ikke præcis den syntaks....
Avatar billede henrik_ffc Nybegynder
08. august 2001 - 00:59 #2
Du bliver vist nødt til at gøre det i SQL, men det er heller ikke så svært:

Query1->SQL->Add(\"UPDATE Tabel1 SET Udløber=\'23-03-1981\' WHERE Medlemsnr = 1;\");
Avatar billede henrik_ffc Nybegynder
08. august 2001 - 01:00 #3
Erik> Jeg er ret sikker på at ændringer IKKE bliver gemt i databasen på denne måde.
Avatar billede tokelil Nybegynder
08. august 2001 - 13:52 #4
Jeg har prøvet at lege lidt med Edit(), men kan ikke få det til at virke... Men ved følgende:
  Query1->Open();
  Query1->Edit();
får jeg følgende fejl i run-time:
\"Query1: Connet modify a read-only dataset\"

Hmm... Hvis der er nogen der har en god ide til hvad jeg skal for ikke at lave det i SQL så skriv og jeg afsætter nogle flere point... Men jeg må vel lave det i SQL ind til videre.

Tak for hjælpen...
Avatar billede erikjacobsen Ekspert
08. august 2001 - 16:01 #5
Bemærk venligst, Henrik, at man kan sige Edit(), og at det ville have virket
hvis den ikke havde været read-only. Den driver tager nok udgangspunkt i
et fosigtigt forsøg på at sige at man ikke kan opdatere et view, som man kan
betragte en SELECT som. Spørgeren skal jo nok åbne tabellen på en
anden måde, uden SELECT, og så med en \"find\" komme til den rigtige post.

Men min hukommelse om dette er ikke så god - og jeg har ikke lige adgang til
noget dokumentation.
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