Search code examples
c#.netsqlsql-server-cesql-server-ce-4

SqlCeParameter return Auto ID (Primary Key)


I have an SQL SqlCeParameter statement for example:

mySQLCommand1.CommandText = @"
   INSERT INTO clientSubjectiveComplaints (clientSubComplaintCreated)
   VALUES (@ClientSubComplaintCreated)
   ";

Once the INSERT is successful I need the auto generated ID (INT Primary Key) returned so that I can use it in a second INSERT statement.

Is this possible for SqlCe ? Please if you can provide an example.


Solution

  • Like this:

    using (var connection = new SqlCeConnection(Settings.Default.Database1ConnectionString))
    using (var command = connection.CreateCommand())
    {
        connection.Open();
    
        command.CommandText = @"
            INSERT Test (Name)
            VALUES (@TestName)
            ";
        command.Parameters.AddWithValue("TestName", "SomeName");
        command.ExecuteNonQuery();
    
        command.CommandText = "SELECT @@IDENTITY";
        var id = command.ExecuteScalar();
    }