PDA

View Full Version : سوال: به دست آوردن تعداد اعضاء در دیتابیس



aminaltavista
شنبه 10 تیر 1391, 21:50 عصر
خیلی سرچ کردم اما نتیجه ی ملموسی رو پیدا نکردم.
میخوام تعداد رکوردهایی رو که تو دیتابیسم هست رو به صورت مستقیم تو یه مسیج باکس بزارم یعنی تعداد رو فقط از دیتابیس بگیره!:متفکر:

Y_Safaiee
شنبه 10 تیر 1391, 23:20 عصر
با سلام خدمت شما

کد شما بسیار ساده است

با سمپل کد توضیح میدم :



SqlConnection cnn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\Database1.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand();
cnn.Open();
cmd.Connection = cnn;
cmd.CommandText = "select Count(*) from list";
long cnt=(long) cmd.ExecuteScalar();
MessageBox.Show(cnt.ToString());


موفق باشین
بایت بایت

veniz2008
یک شنبه 11 تیر 1391, 00:33 صبح
سلام، یه سوال دارم ازتون آقای Youuness (http://barnamenevis.org/member.php?78417-Youuness) ،این کد تعداد رکوردهای جدول رو بدست میاره یا تعداد رکوردهای دیتابیس رو؟(فرض کنید دو جدول داشته باشیم و هر جدول 10 تا رکورد داشته باشه)من فکر میکنم این دستور تعداد سطرهای یک جدول رو بدست میاره، درست فکر میکنم؟،اگر درست میگم آیا دستوری هست که تعداد رکوردهای دیتابیس رو حساب کنه؟

Y_Safaiee
یک شنبه 11 تیر 1391, 08:25 صبح
با سلام خدمت شما دوست گرامی

شمارش تعداد رکوردهای موجود در دیتابیس بدون در نظر گرفتن جداول و اوردن نام اونها خیلی کار راحتیه اینم کدش خدمت شما :



cmd.CommandText = "SELECT sum (sysindexes.Rows)FROM sysobjects INNER JOIN sysindexes ON sysobjects.id = sysindexes.id WHERE type = 'U'";
long cnt = long.Parse(cmd.ExecuteScalar().ToString());
MessageBox.Show(cnt.ToString());


اگه شما تو جدول اول 5 تا و تو جدول دوم 3 تا و تو جدول سوم 1 رکورد داشته باشید همه رو جمع میکنه و براتون موجود بودن 9 تا رکوردو تو کل دیتابیس نشون میده.

البته شاید کدهای راحت تری هم وجود داشته باشه اما من همیشه با همین دستور کار میکنم و تا الان مشکلی نداشته.

راستی دستور sql شما عینا همونیه که نوشتم,دقیقا همونو بنویسید و تصور نکنید مثلا sysobjects.id و WHERE type = 'U' رو خودم اضافه کردم,نه دقیقا همینو باید بنویسید.

موفق باشین
بایت بایت