Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi - TQuery - ako "nezadať" autoinc, iba všetko ostatné?

Mám tabuľku:

ID        autoinc
Meno      varchar(25)

Tabuľka je otvorená jedným SQl príkazom:

select * from tabulka

Potrebujem do nej pridať záznam ďalším SQL príkazom (tým prvým je stále otvorená:

insert into tabulka ('Meno') values ('asd')

Výsledok:
Invalid use of keyword. Token: )

Ďalší pokus:

insert into tabulka values (,'asd')

Výsledok:
Invalid use of keyword. Token: ,'asd')
To je podľa mňa pochopiteľné.

Ďalší pokus:

insert into tabulka values (NULL,'asd')

Výsledok:
INSERT and UPDATE operations are not supported on autoincrement field type.
To je taktiež pochopiteľné, lenže neviem ako ako obísť položku ID pri zadávaní hodnôt, keďže mi to nejde prvým spôsobom.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Problém som vyriešil. SQL príkaz funguje. Ďakujem obom za pomoc. Lenže po jeho vykonaní vidím v DBG…
msx. 20.02.2007 23:07
msx.
Ak robis zapis, mazanie, update do tabulky, vzdy to vykonavas... takze vzdy to davas do metody ExecS… poslední
Intex 21.02.2007 08:14
Intex

Problém som vyriešil. SQL príkaz funguje. Ďakujem obom za pomoc.

Lenže po jeho vykonaní vidím v DBGrid stále to čo predtým. Mám teda spustiť metódu QueryTabulka.ExecSQL? Vlastnosť Active komponenty QueryTabulka je True, takže teoreticky by sa to malo zaktualizovať samé, nie?

Ak robis zapis, mazanie, update do tabulky, vzdy to vykonavas... takze vzdy to davas do metody ExecSQL... pokial robis len vypis "select" tak tam staci dat uz len active:= true... Vzdy ked nieco robis s tabulkou, tak je vhodne si vytvorit vlastnu metodu ExecSQL, ktora pri vstupe hodi active:= false a na vystupe active:= true... to iste plati aj pre selecty, akurat nepouzijes ExecSQL... Najlepsie bude urobit si vlastnu metodu, ktora bude riesit tieto dva stavy...

Zpět do poradny Odpovědět na původní otázku Nahoru