C# Ado.Net ile son kaydedilen verinin id değeri nasıl alınır?

0

SQL Insert komutu ile veritabanına eklenen son kaydın ID değeri nasıl alınır?

alattin alattin (16984)
6 yıl önce sordu

    Toplam 1 Cevap


    0

    Ado.Net nesneleri ile işlem yapıyorsanız, SQL Insert komutunu kullandığınızda veritabanına kaydedilen veriye atanan ID değerini C# ile almak isteyebilirsiniz.

    Aşağıdaki koddaki örnek gibi yapabilirsiniz.

    SqlConnection con = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand("INSERT INTO Etkinlik(Ad,Tarih) VALUES(@ad, @tarih); SET @prmYeniId = SCOPE_IDENTITY()", con);
            cmd.Parameters.Add("@ad", SqlDbType.VarChar).Value = ad;
            cmd.Parameters.Add("@tarih", SqlDbType.VarChar).Value = tarih;      ;
            cmd.Parameters.Add("@prmYeniId", SqlDbType.Int).Direction = ParameterDirection.Output;
            con.Open();
            cmd.ExecuteScalar();
            int YeniId = (int)cmd.Parameters["@prmYeniId"].Value;
            con.Close();

     

    SQL SCOPE_IDENTITY() metodu insert edilen veriye atanan ID değerini döndürür. SQL sorgusunun sonuna eklenen SCOPE_IDENTITY() metodu ile dönen değer @prmYeniID parametresine yüklenir.

    Daha sonra cmd.Paremeters["@prmYeniId"].Value ile bu parametreye atanan değer okunarak istenilen değişkene atanır.

     

    alattin alattin (16984)
    6 yıl önce cevaplandı

    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol