PDA

View Full Version : مبتدی: سوال در مورد تعداد رکوردها در data reader



myazdani
پنج شنبه 09 آذر 1391, 19:49 عصر
سلام

چه جوری می تونیم تعداد رکوردهای موجود در data reader رو به دست بیاریم؟

متشکرم

veniz2008
پنج شنبه 09 آذر 1391, 23:28 عصر
سلام. به همین راحتی :

int count = 0;
SqlConnection con = new SqlConnection("Data Source = (local);Initial Catalog = university;Integrated Security = True");
SqlCommand cmd = new SqlCommand("select * from student",con);
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
count++;
}
con.Close();
MessageBox.Show(count.ToString());

علیرضا حسن زاده
جمعه 10 آذر 1391, 00:14 صبح
عزیز دیتا ریدر همیشه یک رکورد داره اونم اگه رکوردی برای واکشی موجود باشه نه همیشه
برای این کار میتونی قبل از اجرای دستور اس کیو ال مربوط به ریدر یه با از همون کوئری که می خوای اجرا کنی Count بگیری به همین راحتی

AvantGarde
جمعه 10 آذر 1391, 03:55 صبح
اگر تعداد رکوردها رو قبل از خوندون تک تک رکورد ها بخوایی کم هزینه تر از این روش من سراغ ندارم:

SqlCommand cmd = new SqlCommand("select * from tableName", conn);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
MessageBox.Show(dt.Rows.Count.ToString());
در غیر این صورت میتونی به روش زیر با یک تیر 2 نشون بزنی و تعداد رکوردها رو بعد از خوندن همشون به دست بیاری:

SqlCommand cmd = new SqlCommand("select * from t1", conn);
int count = 0;
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
/*
har code morede nazaretun
*/
count++;
}
MessageBox.Show(count.ToString());