نمایش نتایج 1 تا 19 از 19

نام تاپیک: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

  1. #1
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    سلام به همه

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


    نام | ماه | نمره

    حالا اگه قرار باشه ما نمرات را در یک دیتاگرید ویو که به تعداد ماههای مهر تا خرداد را دارد نمایش دهیم یعنی :

    نام | مهر | آبان | ....................

    آیا لازم است کوری را در دیتابیس ایجاد کنیم یا اینکه با یک کوری در خود برنامه هم می توان این کار را کرد ؟

  2. #2
    کاربر دائمی آواتار reza_Nazem
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    تهران
    پست
    250

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    بهترین و سریع ترین راه اینکه از PIVOT در SQL استفاده کنی
    اینم یه مثال
    http://blog.sqlauthority.com/2008/06...able-examples/

  3. #3
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    اما من چیزی ازش سر در نیاوردم

    می شه با یه تکه کد نشون بدین

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    سلام. سوالتون رو بیشتر توضیح بدید تا دوستان راه درست رو پیشنهاد کنن. (منظور از نام چیه؟).

  5. #5
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    ممنونم از تذکرتون

    ببینین ما نام دانش آموزان یه کلاس رو در یک ستون ونمراتشون رو در یک ستون

    وماه مربوطه رو در یک ستون دیتابیس ( حالا هر نوعی که می خواد باشه ) وارد می کنیم

    بعد می خواهیم در دیتا گرید نام دانش آموزان در یک ستون و نمرات آنها به تفکیک ماه نشون بدیم

  6. #6
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    به عنوان مثال این کد برای نشان دادن میانگین یه تعداد اطلاعات از یک ستون رو چگونه می توانیم تغییر دهیم تا چیزی که می خواهیم به دست بیاد


    static void Main(string[] args)

    {

    string cs = @"Data Source=<your server>;Initial Catalog=<your database>;Integrated Security=SSPI";

    try

    {

    using (SqlConnection con = new SqlConnection(cs))

    {

    con.Open();



    string sql = "select * from DailyIncome pivot (avg (IncomeAmount) for IncomeDay in ([MON],[TUE],[WED],[THU],[FRI],[SAT],[SUN])) as AvgIncomePerDay";

    SqlDataAdapter da = new SqlDataAdapter(sql, con);

    DataTable dt = new DataTable("AverageIncomeForVendor");

    da.Fill(dt);



    // Bind the DataTable to whatever, just displaying it in console here.



    int colCount = dt.Columns.Count;

    foreach (DataRow row in dt.Rows)

    {

    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < colCount; i++)

    {

    sb.Append(row[i].ToString() + "\t");

    }

    Console.WriteLine(sb.ToString());

    }

    con.Close();

    }

    }

    catch (Exception ex)

    {

    Console.WriteLine(ex);

    }

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    دستور order by رو جستجو کنید . کار این دستور اینه که رکوردها رو براساس معیار خاص ( مثلا نام ماه) مرتب میکنه.
    select name,mah,nomre from tblnomre order by mah

  8. #8
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    نقل قول نوشته شده توسط veniz2008 مشاهده تاپیک
    دستور order by رو جستجو کنید . کار این دستور اینه که رکوردها رو براساس معیار خاص ( مثلا نام ماه) مرتب میکنه.
    select name,mah,nomre from tblnomre order by mah
    این دستور واسه مرتب کردنه اطلاعات براساس ماه می باشد نه برای جدا کردن

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    اگر میخواید براساس ماه جدا (دسته بندی) کنید از group by استفاده کنید.
    امیدوارم منظورتون رو درست متوجه شده باشم.

  10. #10
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    میشه همینی که گفتین رو با یه تکه کد نشون بدین ؟

  11. #11
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    select studentid,name,mah,nomre from tblnomre group by studentid

  12. #12
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    حالا خروجی این دستور چی می شه ؟

    یعنی در دیتا گرید ویو یک ستون نام دانش آموزان و چند ستون از نمرات برای هر ماه به طور مجزا ایجاد می شه ؟؟؟؟؟؟؟؟؟؟

  13. #13
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    نقل قول نوشته شده توسط mahtab.kamali مشاهده تاپیک
    حالا خروجی این دستور چی می شه ؟

    یعنی در دیتا گرید ویو یک ستون نام دانش آموزان و چند ستون از نمرات برای هر ماه به طور مجزا ایجاد می شه ؟؟؟؟؟؟؟؟؟؟
    نه . دستور group by فقط داده ها رو دسته بندی میکنه. یعنی شکل ظاهری همونی هست که درون جدول ذخیره شدن.

  14. #14
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    پس با این حساب راهی نداره دیگه

    لطفا یه نفر راهنمایی کنه

  15. #15
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    کسی می دونه چطور می شه از این کد استفاده کرد


    public static DataTable Pivot(DataTable dataValues, string keyColumn, string pivotNameColumn, string pivotValueColumn)
    {
    DataTable tmp = new DataTable();
    DataRow r;
    string LastKey = "//dummy//";
    int i, pValIndex, pNameIndex;
    string s;
    bool FirstRow = true;

    pValIndex = dataValues.Columns[pivotValueColumn].Ordinal;
    pNameIndex = dataValues.Columns[pivotNameColumn].Ordinal;

    for (i = 0; i <= dataValues.Columns.Count - 1; i++)
    {
    if (i != pValIndex && i != pNameIndex)
    tmp.Columns.Add(dataValues.Columns[i].ColumnName, dataValues.Columns[i].DataType);
    }

    r = tmp.NewRow();

    foreach (DataRow row1 in dataValues.Rows)
    {
    if (row1[keyColumn].ToString() != LastKey)
    {
    if (!FirstRow)
    tmp.Rows.Add(r);

    r = tmp.NewRow();
    FirstRow = false;

    //loop thru fields of row1 and populate tmp table
    for (i = 0; i <= row1.ItemArray.Length - 3; i++)
    r[i] = row1[tmp.Columns[i].ToString()];

    LastKey = row1[keyColumn].ToString();
    }

    s = row1[pNameIndex].ToString();

    if (!tmp.Columns.Contains(s))
    tmp.Columns.Add(s, dataValues.Columns[pNameIndex].DataType);
    r[s] = row1[pValIndex];
    }

    //add that final row to the datatable:
    tmp.Rows.Add(r);

    return tmp;
    }

  16. #16
    کاربر دائمی آواتار mahtab.kamali
    تاریخ عضویت
    دی 1391
    محل زندگی
    زیر گنبد کبود
    پست
    117

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    سلام

    با هزار ویک مصیبت این کد رو واسه PIVOT پیدا کردیم که اون هم این ارور رو می ده



    string query = "select userid,[1] as mehr,[2] as aban,[3] as azar,[4] as daey,[5] as bahman,[6] as esfand,[7] as parvardin,[8] as ordiebehesht,[9] as khordad"+
    "from"+
    "(select userid,[month],score from pivt)"+
    "piv pivot(sum(score) for [month] in ( [1],[2],[3],[4],[5],[6],[7],[8],[9])) as chld"+
    "order by userid";


    علتش چی می تونه باشه ؟؟؟؟؟؟؟؟؟؟؟؟
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 1.jpg‏ (91.9 کیلوبایت, 39 دیدار)

  17. #17
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    با سلام

    یه دونه کام بعدازآخرین پارامتر اضافه گذاشتین

    اما اگه اونم بردارین بازم ایراد می گیره می کی نه امتحان کن

  18. #18
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    به نظر من با این روش خودتو خسته می کنی چون دیتابیس شما اکسس هست بعیده که ........

    به جای اینکه خودتو خسته کنی وندای " هل من ناصر " سر بدی

    یه متد با حلقه for تعریف کن وستونهای دیتابیست رو با اون متد سازماندهی کن

    حتی می تونی جدولت رو بچرخونی یعنی ستون رو به ردیف و ردیف رو به ستون بدل کنی

    اینطوری :

    public DataTable PivotTable(DataTable source)
    {
    DataTable dest = new DataTable("Pivoted" + source.TableName);
    dest.Columns.Add(" ");
    foreach (DataRow r in source.Rows)
    dest.Columns.Add(r[0].ToString());
    for (int i = 0; i < source.Columns.Count - 1; i++)
    {
    dest.Rows.Add(dest.NewRow());
    }
    for (int r = 0; r < dest.Rows.Count; r++)
    {
    for (int c = 0; c < dest.Columns.Count; C++‎)
    {
    if (c == 0)
    dest.Rows[r][0] = source.Columns[r + 1].ColumnName;
    else
    dest.Rows[r][c] = source.Rows[c - 1][r + 1];
    }
    }
    dest.AcceptChanges();
    return dest;
    }

  19. #19
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: نمایش یکستون از دیتابیس در چند ستون دیتا گرید ویو

    با سلام مجدد

    از انجا که ساینتیکس کوری PivotTable ما بین sql و oledb متفاوت می باشد بنابراین شما دستور سلکتتون رو به هر شکلی که

    بنویسید ایراد ساینتیکس خواهد گرفت زیرا در jet هنگام تعریف کوئری Pivot ملزم هستید به استفاده از TRANSFORMواین

    قسمت از کد همیشه قبل از sum وبعد از پارامتر ها باید نوشته شوددر غیر این صورت با پیغام

    Syntax error in FROM clause"

    مواجه می شوید


تاپیک های مشابه

  1. سوال: نمایش یک ردیف از جدول اکسس در دیتا گرید ویو
    نوشته شده توسط Alireza.imani در بخش C#‎‎
    پاسخ: 16
    آخرین پست: جمعه 21 مهر 1391, 11:03 صبح
  2. سوال: قرار دادن Check Box در سر ستون دیتا گرید ویو
    نوشته شده توسط rezayeman در بخش C#‎‎
    پاسخ: 9
    آخرین پست: یک شنبه 15 مرداد 1391, 13:30 عصر
  3. نحوه ی نمایش join دو یا چند جدول در دیتا گرید ویو
    نوشته شده توسط debugger در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 2
    آخرین پست: شنبه 24 مهر 1389, 15:03 عصر
  4. اعمال تغییر بر یک ستون دیتا گرید ویو
    نوشته شده توسط bastakboys در بخش VB.NET
    پاسخ: 5
    آخرین پست: چهارشنبه 28 مرداد 1388, 16:40 عصر
  5. جمع مقادیر یک ستون دیتا گرید ویو
    نوشته شده توسط mohi_saboohi در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 26 دی 1386, 17:37 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •