@@identity after insert matter always advantage 0


i need duty executes an insert matter database advantage auto_increment primary key. i have following c# formula but, while insert matter works glorious (i record database, pk generated justly rows == 1), id value always 0. any ideas competence going wrong?



    open int executeinsertstatement(string statement)
{
initializeandopenconnection();
int id = -1;


idbcommand cmdinsert = connection.createcommand();
cmdinsert.commandtext = statement;
int rows = cmdinsert.executenonquery();

(rows == 1)
{
idbcommand cmdid = connection.createcommand();
cmdid.commandtext = "select @@identity;";
id = (int)cmdid.executescalar();
}

relapse id;
}
private vacant initializeandopenconnection()
{
(connection == null)
tie = oledbproviderfactory.instance.createconnection(connectstring);

if(connection.state != connectionstate.open)
connection.open();
}


in response answers, i tried:



public int executeinsertstatement(string statement, twine tablename)
{
initializeandopenconnection();
int id = -1;
idbcommand cmdinsert = connection.createcommand();
cmdinsert.commandtext = matter + ";select oid " + tablename + " where oid = scope_identity();";
id = (int)cmdinsert.executescalar();

relapse id;
}


but i'm removing blunder "characters found after finish sql statement"



i'm controlling an ms opening database oledb connection, provider=microsoft.jet.oledb.4.0



Comments

Popular posts from this blog

list macos calm editors formula editors

how hibernate @any-related annotations?

why does floated <input> control floated component slip over too distant right ie7, nonetheless firefox?