VB 2008 Expr. - nějaká funkce last_insert_id - při spojení OLEDBcon   zodpovězená otázka

ADO.NET, Databáze

Dobrý den, několik hodin hledám nějakou možnost jak použít v sql dotazu něco podobného jako je v sql dotazu u databáze MYSQL a to funkci posledního vytvořeného ID(last_insert_id).

Jde o to, že vkládám do jedné tabulky údaje a autoincrement bych pak měl vložit do druhé tabulky.

Používám spojení OleDbConnection.

Našel jsem cosi jako funkci first() a last() objektu Recordset kn. DAO, ale to asi použít nepůjde.

http://office.microsoft.com/cs-cz/access...

V připojení na databázi mám guláš. Jedná se o databázi na locale nepřidanou do projektu.

Předem děkuji za jakoukoliv radu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobry den,

zkuste pouzit @@identity.

SELECT @@identity

Cely SQL prikaz:

INSERT INTO tabulka1 ([jmeno]) VALUES ('jmeno')

-- vlozeni do prvni tabulky

DECLARE @AutomatickeID INT

-- nedklarovani promenne

SELECT @AutomatickeID = @@IDENTITY

-- precteni posledniho ID

INSERT INTO tabulka2 ([refID],[jmeno2]) VALUES (@AutomatickeID

, 'jmeno2')

-- vlozeni dat do druhe tabulky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za tip, bohužel nejsem schopen to nacpat jako jeden příkaz, hlásí mi to, že za středníkem jsou nějaké znaky, když to pošlu samostatně, tak mi to zase píše, že declare není očekáváno, prý jen select, insert, update atd.

Zjistil jsem, že v accessu funguje příkaz SELECT Last(FA.ID) FROM FA, nicméně v aplikaci to nefunguje.

Fakt už nevím, na internetu je toho strašně málo, spíš jen nezodpovězené dotazy ve forech.

Pokud by Vás něco napadlo, tak děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak zkuste nejprve poslat první INSERT, pak pošlete zvlášť SELECT @@Identity a to vrátí ID posledního záznamu. Nakonec si pošlete druhý příkaz.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zdravím opravdu to funguje, moc děkuji všem. Pavel

PS:Ještě jsem zjistil, že např. od MySQL se do access databáze nemohou posílat sql příkazy za sebou oddělené středníky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback