SQL Satır Sayısını Değişkene Alma
-
Bir tablodan dönen satır sayısını bir değişkene nasıl aktaracağım.
select count(*) from isimler where isim=ahmet;
Mesela bu koddan 10 kişi döndü ben bu 10 sayısını C# ASPX de nasıl integer olarak kullanabilirim.
-
php de;
$degisken=mysql_query("select count(*) from table where isim='ahmet'");
-
İnt sayı = convert.toint32(gelenveri);
-
kanka count metodu tek satır döner. eğer select * from isimler... şeklinde sorgulasaydın bunu dataset e atayıp dataset.tables[0].rows[0].count ile hem gelen kayıtları yorumlayıp hem de kayıt sayısını bilirdin. tabi o zaman kayıt dönmeme ihtimaline karşı if dataset.tables.count > 0 && dataset.tables[0].rows.count > 0 kontrolunu yapmayı unutma :)
-
Sorguyu sp yaparsan output parameter şeklinde alabilirsin
o SP ye declare @x integer seklinde output parametre tanımlarsan
select @x=count(*) from tablo
seklinde alirsin.
Ayrıca ne kullanıyosun? dataset? linq?
-
HolyOne bunu yazdı:
-----------------------------Sorguyu sp yaparsan output parameter şeklinde alabilirsin
o SP ye declare @x integer seklinde output parametre tanımlarsan
select @x=count(*) from tablo
seklinde alirsin.
Ayrıca ne kullanıyosun? dataset? linq?
-----------------------------bu stored procedure dışında "SELECT count(*) AS toplam_int FROM tablo;" şeklinde olsa olmaz mı şıh?
-
sp taraafı :
ALTER PROCEDURE [dbo].[SatirSayisiLazim] ( @SatirSayisi as bigint=0 output ) AS begin --main begin Select @SatirSayisi=Count(1) from Members
csharp tarafı
SqlConnection cn = SqlTool.ConnectToSql(); SqlCommand cm = new SqlCommand("[SatirSayisiLazim]", cn); cm.CommandType = CommandType.StoredProcedure; cm.ExecuteNonQuery(); int SatirSayisi = cm.Parameters["@SatirSayisi"].Value.ToString(); -
sp kullanmadan yapacaksan
using (SqlCommand cm= new SqlCommand("SELECT COUNT(*) FROM Members", thisConnection)) { Console.WriteLine("Number of Members is: {0}", cm.ExecuteScalar()); } -
Sonunda yaptım.
Biraz geç dönüş oldu malum vizeler yaklaşıyor.
verdiğiniz bilgiler için sağolun.
tekrar isimli veritabanında adetbul tablosu var bu tabloda kaç tane istediğimiz veriden varsa bulup geliyor.
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection baglanti = new SqlConnection();
string baglantiParametresi = "Data Source=localhost;Initial Catalog=Tekrar;Integrated Security=True";
baglanti.ConnectionString = baglantiParametresi;
baglanti.Open();
string isim="cemal";int adet;
using(SqlCommand cmd= new SqlCommand("select count(*) from adetbul where isim='"+isim+"'",baglanti)){
adet =Convert.ToInt32(cmd.ExecuteScalar());
}Response.Write(isim + " isminde veritabanında " + adet + " vardır");
baglanti.Close();
}
