Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi - TQuery - ID z antoinc po insert

Pomocou TQuery pridám SQL príkazom do tabuľky nejaký záznam. V tabuľke je stĺpec autoinc. Dá sa nejakým príkazom zistiť naposledy pridelená hodnota autoinc?

Mám na mysli obdobu PHP príkazu pre MySQL: mysql_insert_id()

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Akú databázu používaš? Nestačilo by niečo ako select max(stlpec_autoinc)? V MS SQL je tuším funkcia…
pme 05.12.2011 18:47
pme
Štandardný Paradox 7 myslím.
msx. 05.12.2011 20:33
msx.
Pokud pres BDE, tak se zkus podivat na nejake API funkce DBIneco. jejich popis je v helpu k BDE Ale…
Jan Fiala 06.12.2011 12:51
Jan Fiala
Povedzme, že máš nejaké meno a po jeho pridaní sa v tabuľke vytvorí záznam, kde sa v dvoch stĺpcoch…
msx. 07.12.2011 12:55
msx.
Autoinc pouzivam v pripade, kdy potrebuju nejaky jedinecny index. Ale jakmile to chci na propojeni t…
Jan Fiala 07.12.2011 14:30
Jan Fiala
Myslím, že rozumiem. Budem vedieť do budúcna. Toto je program v Delphi, ktorý som robil takmer pred…
msx. 07.12.2011 16:04
msx.
Jinak posledni autoincrement muzes zjistit SQL dotazem, pripadne pres BDE API Asi bych si napsal fun… nový
Jan Fiala 08.12.2011 08:28
Jan Fiala
Tak je to asi najjednoduchšie. Asi to aj tak spravím. A ďakujem za vysvetlenie v príklade. Vyzerá t… poslední
msx. 15.12.2011 23:52
msx.

Pokud pres BDE, tak se zkus podivat na nejake API funkce DBIneco. jejich popis je v helpu k BDE

Ale uz z toho, ze chces k necemu zjistovat max. hodnotu AutoInc mi to zavani spatnym navrhem DB. K cemu to potrebujes?
Pouzivat AutoInc na vazby mezi tabulkami neni moc vhodne...

Povedzme, že máš nejaké meno a po jeho pridaní sa v tabuľke vytvorí záznam, kde sa v dvoch stĺpcoch bude nachádzať jeho ID a to samotné meno. To ID je autoinc a je použité na prepojenie s inou tabuľkou. Síce robím hlavne s MySQL a PHP, ale tam autoincrement je na prepojenie tabuliek použitý takmer vždy. Aký má potom autoinc význam, ak sa nemá používať? Potom by som to videl jedine na mazanie záznamov podľa jedinečného autoinc ID.

Edit: Možno by si mohol napísať nejaký článok o návrhu databáz s ohľadom na autoinc. Ja viem len to čo ma naučila prax.

Autoinc pouzivam v pripade, kdy potrebuju nejaky jedinecny index. Ale jakmile to chci na propojeni tabulek, uz si vytvarim vlastni ID.

v okamziku, kdybys chtel takove tabulky zpracovavat - sehravat, importovat apod. uz budes mit problem, protoze to budes muset osetrovat rucne - nezustava ti zachovane propojeni hlavicka-polozky

Myslím, že rozumiem. Budem vedieť do budúcna. Toto je program v Delphi, ktorý som robil takmer pred 5 rokmi, keď som sa učil SQL a na to, že som vtedy vedel o SQL len to čo ma naučila knižka Vreckový sprievodca SQL (bol tam dosť kvalitne popísaný aj návrh databázy), či ako sa to volalo, tak som s tým nadmieru spokojný. Samozrejme dosť mi radili aj tu na poradni. Teraz už nemá význam ten program meniť (dnes by som ho napísal určite lepšie).

Ale keď sa tak zamýšľam nad tým, čo si napísal, tak ručne to musím ošetrovať aj vtedy, ak by som si vytvoril vlastné ID, pretože v prípade importu by mohlo ID byť duplicitné, takže asi celkom nerozumiem.

Jinak posledni autoincrement muzes zjistit SQL dotazem, pripadne pres BDE API
Asi bych si napsal funkci, ktere bych predal tabulku, pole a ona by vratila MAX hodnotu z toho pole.
Pak ji muzes jednoduse zavolat i pri vkladani radku k te sve hlavicce

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