sql >> Databasteknik >  >> RDS >> Sqlserver

Returnera värde från SQL Server Insert-kommandot med c#

SCOPE_IDENTITY returnerar det senaste identitetsvärdet som infogats i en identitetskolumn i samma omfång. En scope är en modul:en lagrad procedur, trigger, funktion eller batch. Därför är två satser i samma omfattning om de är i samma lagrade procedur, funktion eller batch.

Du kan använda SqlCommand.ExecuteScalar för att utföra kommandot infoga och hämta det nya ID:t i en fråga.

using (var con = new SqlConnection(ConnectionString)) {
    int newID;
    var cmd = "INSERT INTO foo (column_name)VALUES (@Value);SELECT CAST(scope_identity() AS int)";
    using (var insertCommand = new SqlCommand(cmd, con)) {
        insertCommand.Parameters.AddWithValue("@Value", "bar");
        con.Open();
        newID = (int)insertCommand.ExecuteScalar();
    }
}


  1. MySQL:Felkod:1118 Radstorleken är för stor (> 8126). Ändra vissa kolumner till TEXT eller BLOB

  2. Hur man automatiserar distributionen av PostgreSQL-databasen

  3. Kom ihåg RAC-instanser i Perf Tools

  4. MySQL INTE I fråga