Führen Sie den Befehl Einfügen aus und geben Sie die eingefügte ID in Sql zurück

Hallo, ich bin einfügen von Werten in die sql-Tabelle mit C# in MVC4. Eigentlich möchte ich Werte eingefügt und wieder die 'ID' der letzten eingefügten Datensatz. Ich verwende den folgenden code.

public class MemberBasicData
{
    public int Id { get; set; }
    public string Mem_NA { get; set; }
    public string Mem_Occ { get; set; }     
}

ID automatisch erhöht in der Datenbank, wenn Sie eingesetzt wird.

public int CreateNewMember(string Mem_NA, string Mem_Occ )
{
    using (SqlConnection con=new SqlConnection(Config.ConnectionString))
    {
        using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con))
        {
            cmd.Parameters.AddWithValue("@na", Mem_NA);
            cmd.Parameters.AddWithValue("@occ", Mem_Occ);
            con.Open();

            int modified = cmd.ExecuteNonQuery();

            if (con.State == System.Data.ConnectionState.Open) con.Close();
                return modified;
        }
    }
}

Ich weiß ExecuteNonQuery bezeichnet die zahlen, die Auswirkungen auf die Zeile. Statt, dass ich die

int modified = (int)cmd.ExecuteScalar();

Aber nicht funktioniert. Bitte helfen Sie mir bei der Problemlösung. Und gibt es irgendeinen code wie cmd.ExecuteInsertAndGetID() (funktioniert nicht mit meinem code).

InformationsquelleAutor der Frage neel | 2013-08-22

Schreibe einen Kommentar