PDA

View Full Version : مشکل با datatable



setareh2013
یک شنبه 04 تیر 1391, 13:22 عصر
با سلام
من برای اینکه تعداد سطرهای یک جدول رو در پایگاه داده بدست بیارم همیشه یک datatable تعریف می کنم . اطلاعات رو داخل اون می ریزم و با فرمان dt.rows .count تعداد سطرها رو بدست میارم . حالا مشکل من اینه که
یه چیزی شبیه جدول زیر رو باید ایجاد کنم که تعداد عکس های مربوط به هر موضوع رو در زمان لود صفحه بدهد .
نمیشه کاری کرد که مجبور نشم 10 تا دیتاتیبل برای شمارش به کار ببرم و کدها کمتر بشه :
جدول :
عکس طبیعت ( تعداد عکس ) عکس حیوانات ( تعداد عکس )
عکس ماشین ( تعداد عکس ) و ......

با تشکر

A.S.Roma
یک شنبه 04 تیر 1391, 17:47 عصر
خیلی کار بدی انجام میدید !
با خود SQL‌خیلی ساده میشه این موارد رو هندل کرد.
از COUNT سمت SQL استفاده کنید :

SELECT COUNT(*) FROM tableName

setareh2013
دوشنبه 05 تیر 1391, 00:33 صبح
حالا باید خروجی این دستور رو داخل چی قرار بدم . از دیتاآداپتور استفاده کنم یا نه . میشه بیشتر توضیح بدین . با تشکر

General-Xenon
دوشنبه 05 تیر 1391, 08:10 صبح
حالا باید خروجی این دستور رو داخل چی قرار بدم . از دیتاآداپتور استفاده کنم یا نه . میشه بیشتر توضیح بدین . با تشکر
سلام دوست من. به این کد دقت کن

مثلا 1 جدول داری و از این جدول 3 تا Select داری
Datatable رو هم که بلدی مقادیرش رو در بیاری....
SqlDataAdapter _da = new SqlDataAdapter("SELECT Count(*) FROM T1 WHERE CAT=1;SELECT Count(*) FROM T1 WHERE CAT=2;SELECT Count(*) FROM T1 WHERE CAT=3;", new SqlConnection("Connection Styring"));
DataSet _ds = new DataSet("Dataset Name");
_da.Fill(_ds);

// Rahe Aval
foreach (DataTable _dt in _ds.Tables)
{

}

// Rahe dovom
for (int i = 0; i < _ds.Tables.Count; i++)
{
DataTable _dt = _ds.Tables[i];
}

با این کار 1 Command میفرستی به SQL و این سرعت کارت رو بالا می بره