@@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
Post a Comment