Code:
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
Nju koristim na sledeći način:
Code:
SqlConnection konekcija = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=galerija;Data Source=sun\sqlexpress");
SqlCommand insertKomanda = new SqlCommand();
insertKomanda.CommandText = String.Format("INSERT INTO slike(naziv, kat) VALUES('{0}', {1})", parNaziv, parKat);
insertKomanda.Connection = konekcija;
SqlCommand selectKomanda = new SqlCommand();
selectKomanda.CommandText = "SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]";
selectKomanda.Connection = konekcija;
konekcija.Open();
insertKomanda.ExecuteNonQuery();
int insertId = Convert.ToInt32(selectKomanda.ExecuteScalar());
konekcija.Close();
SqlConnection konekcija = new SqlConnection(@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=galerija;Data Source=sun\sqlexpress");
SqlCommand insertKomanda = new SqlCommand();
insertKomanda.CommandText = String.Format("INSERT INTO slike(naziv, kat) VALUES('{0}', {1})", parNaziv, parKat);
insertKomanda.Connection = konekcija;
SqlCommand selectKomanda = new SqlCommand();
selectKomanda.CommandText = "SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]";
selectKomanda.Connection = konekcija;
konekcija.Open();
insertKomanda.ExecuteNonQuery();
int insertId = Convert.ToInt32(selectKomanda.ExecuteScalar());
konekcija.Close();
Znači između otvaranja i zatvaranja konekcije izvršava se INSERT naredba i SELECT SCOPE_IDENTITY() koji kupi zadnji ID.
Interesije me da li postoji mogućnost da, ako je neko u međuvremenu izvršio INSERT, dobijem ID njegovog unosa umesto mog?