sql >> Database >  >> RDS >> Sqlserver

Voer de opdracht Insert uit en retourneer de ingevoegde Id in Sql

De volgende oplossing werkt met SQL Server 2005 en hoger. U kunt output gebruiken om het vereiste veld te krijgen. in plaats van id kunt u uw sleutel schrijven die u wilt retourneren. doe het zo

VOOR SQL SERVER 2005 en hoger

    using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) output INSERTED.ID VALUES(@na,@occ)",con))
    {
        cmd.Parameters.AddWithValue("@na", Mem_NA);
        cmd.Parameters.AddWithValue("@occ", Mem_Occ);
        con.Open();

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

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

        return modified;
    }
}

VOOR eerdere versies

    using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ)  VALUES(@na,@occ);SELECT SCOPE_IDENTITY();",con))
    {
        cmd.Parameters.AddWithValue("@na", Mem_NA);
        cmd.Parameters.AddWithValue("@occ", Mem_Occ);
        con.Open();

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

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


  1. Voorbeelden van het converteren van 'smalldatetime' naar 'datetime' in SQL Server (T-SQL)

  2. best practices voor mysqldump:deel 1 – MySQL-vereisten

  3. Automatiseer databasetestherstel in SQL Server

  4. hoe de kolom voor automatisch verhogen in te stellen met sql-ontwikkelaar