Avatar billede madshenrik Nybegynder
02. marts 2000 - 00:19 Der er 10 kommentarer og
1 løsning

deleting og inserting med sql

Hvordan skal sql sætningen bygges op når man skal slette og insætte records i en tabel. Jeg har ikke været i stand til at finde noget i Delphis hjælp.
Avatar billede psv Nybegynder
02. marts 2000 - 08:45 #1
Inserting:

insert into <table> (<col1>, <col2>,... ,<coln>)
  values (<val1>, <val2>,..., <valn>);

Her sættes feltet <colx> til <valx>. er <valx> en streng skal du anvende quotes.
Eks: insert into persons (firstname, lastname) values ('Ib', 'Jensen');


Deleting:

delete from <table> where <expr>;

Her bruges <expr> til at udpege de records der skal slettes. Eks.
(age > 80) eller (firstname = 'Poul')

Eks: delete from persons where firstname = 'Poul';
Avatar billede madshenrik Nybegynder
02. marts 2000 - 10:08 #2
Har fået delete til at virke men insert virker ikke.
her er koden.
Queryupdatepostnr.Close;
Queryupdatepostnr.sql.Clear;
Queryupdatepostnr.sql.add('insert into postnrtabel (postnr, bynavn)');
Queryupdatepostnr.sql.add('values (:POSTNUMMER, :BYNAVN)');
Queryupdatepostnr.sql.add('where postnrtabel.postnr = :POSTNUMMER and postnrtabel.bynavn =:BYNAVN');
Queryupdatepostnr.ParamByName('POSTNUMMER').ASINTEGER := STRTOINT(rediger.edit1.TEXT);
Queryupdatepostnr.ParamByName('BYNAVN').ASSTRING :=(rediger.edit2.TEXT);
Queryupdatepostnr.ExecSQL;
Avatar billede psv Nybegynder
02. marts 2000 - 10:38 #3
Øøøøh, hvilken fejlmeddelelse får du og hvilken type database kører du på?
Avatar billede madshenrik Nybegynder
02. marts 2000 - 17:03 #4
Der er ingen fejl meddelser, den udfører bare ikke komandoen. Databasen er en db altså Borland Delphis egen database format.
Avatar billede psv Nybegynder
02. marts 2000 - 17:17 #5
Igen øøøh... er det en paradox database?
Avatar billede psv Nybegynder
02. marts 2000 - 17:58 #6
Hov så det lige... Der skal da ikke en where clause på en insert statement.

Queryupdatepostnr.Close;
Queryupdatepostnr.sql.Clear;
Queryupdatepostnr.sql.add('insert into postnrtabel (postnr, bynavn) ');
Queryupdatepostnr.sql.add('values (:POSTNUMMER, :BYNAVN)');
Queryupdatepostnr.ParamByName('POSTNUMMER').ASINTEGER :=
  STRTOINT(rediger.edit1.TEXT);
Queryupdatepostnr.ParamByName('BYNAVN').ASSTRING := rediger.edit2.TEXT;
Queryupdatepostnr.ExecSQL;
Avatar billede madshenrik Nybegynder
02. marts 2000 - 17:58 #7
ja det er det.
Avatar billede madshenrik Nybegynder
02. marts 2000 - 18:32 #8
Det hjalp ikke voldsomt uden where clause.
Avatar billede psv Nybegynder
02. marts 2000 - 22:15 #9
Jeg er lidt spooked lige nu.. Prøvede lige nummeret derhjemme og der virker det upåklageligt. Jeg har en tabel Peter med felterne id og name.

FQuery er en variabel erklæret i TForm1. Virker hver gang...

procedure TForm1.Button1Click(Sender: TObject);
begin
  FQuery := TQuery.Create(nil);
  with FQuery do
  try
    DatabaseName := 'D:\BasicIO\DataBase';
    SQL.Add('INSERT INTO PETER (Id, Name) VALUES (:ID, :NAME)');
    ParamByName('ID').AsInteger := StrToInt(FIDEdit.Text);
    ParamByName('NAME').AsString := FNameEdit.Text;
    ExecSQL;
  finally
    Close;
    Free;
  end;
end;
Avatar billede madshenrik Nybegynder
03. marts 2000 - 12:40 #10
Den udfører ikke handlingen psv. psv jeg acceptere spørgsmålet og opretter et nyt, da jeg tror at sjensen ved hvad der er galdt. men lige en sidste ting hvilket format har dit name i Databasen.
Avatar billede psv Nybegynder
03. marts 2000 - 12:50 #11
Kan jeg ikke huske.. Kigger på det en gang i weekenden..
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