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

نام تاپیک: مشکل در ثبت آیتم های checkedListBox در بانک

  1. #1
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    مشکل در ثبت آیتم های checkedListBox در بانک

    سلام دوستان من یک کنترل checkedListBox دارم که از طریق کد نویسی به یک فیلد در بانک متصله و کاربر قادره آیتم های مورد نظرش رو انتخاب کنه ولی وقتی با این کد می خوام آیتم های انتخاب شده رو در دیتا بیس ذخیره کنم این متن ذخیره میشه System.Data.DataRowView-System.Data.DataRowView- لطفا من رو راهنمایی کنید کارم گیره!
    کد مورد استفاده رو ضمیمه میکنم.باتشکر
      • for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
        {
        Temp += checkedListBox1.CheckedItems[i] + "-";
        }
      • SqlConnection con = new SqlConnection(constr);
        con.Open();

        DataTable dt = new DataTable();
        dad.Fill(dt);
      • string insstr = "insert into Table1(membergroup)" +
        "Values (N'" + Temp + "')";
        SqlCommand cmd = new SqlCommand(insstr, con);
        cmd.ExecuteNonQuery();
        con.Close();
    آخرین ویرایش به وسیله raminsalemi : شنبه 08 خرداد 1389 در 11:32 صبح

  2. #2

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    سلام دوستان من یک کنترل checkedListBox دارم که از طریق کد نویسی به یک فیلد در بانک متصله و کاربر قادره آیتم های مورد نظرش رو انتخاب کنه ولی وقتی با این کد می خوام آیتم های انتخاب شده رو در دیتا بیس ذخیره کنم این متن ذخیره میشه System.Data.DataRowView-System.Data.DataRowView- لطفا من رو راهنمایی کنید کارم گیره!
    کد مورد استفاده رو ضمیمه میکنم.باتشکر


      • for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
        {
        Temp += checkedListBox1.CheckedItems[i] + "-";
        }
      • SqlConnection con = new SqlConnection(constr);
        con.Open();

        DataTable dt = new DataTable();
        dad.Fill(dt);
      • string insstr = "insert into Table1(membergroup)" +
        "Values (N'" + Temp + "')";
        SqlCommand cmd = new SqlCommand(insstr, con);
        cmd.ExecuteNonQuery();
        con.Close();

    سلام.
    CheckedItems[i] در کد فوق یه object برمیگردونه، و از اونجایی که Temp بصورت string تعریف شده، متود ToString روی اون object فراخوانی میشه و System.Data.DataRowView برگردونده میشه. اون کد رو تغییر بدید، مشکل رفع میشه.

    موفق باشید.

    پاورقی: استفاده از Dynamic SQL ها هرگز توصیه نمیشه. روش بهتر اینه که برای SqlCommand خودتون، Parameter هایی در نظر بگیرید و اونها رو با مقادیر مورد نظر پر کرده، سپس اجرا کنید.

  3. #3
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    دوست عزیز در صورت امکان کد پیشنهادی خودتون رو برام بزارید خیلی اظطراریه

  4. #4

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    دوست عزیز در صورت امکان کد پیشنهادی خودتون رو برام بزارید خیلی اظطراریه
    سلام.
    من کدی رو که شما از طریق اون این CheckedListBox رو پر کرده اید، ندیده ام. بر اساس توضیحاتی که داده اید، میتونید به این شکل عمل کنید:

    foreach(DataRowView drv in checkedListBox1.CheckedItems)
    {
    string itemName = drv["WhateverFieldName"] as string;
    //whatever...
    }


    دقت کنید که اسم Field رو باید جای WhateverFieldName قرار بدید.

    موفق باشید.

    پاورقی: اگر با اینکار مشکل حل نشد، لطفا کدی رو که توسط اون CheckedListBox رو پر میکنید اینجا قرار بدید تا بتونم مساله رو حل کنم.

  5. #5
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    SqlConnection con = newSqlConnection(constr);
    SqlDataAdapter dad = newSqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
    DataTable dt = newDataTable();
    dad.Fill(dt);

    checkedListBox1.DataSource = dt;
    checkedListBox1.DisplayMember =
    "member";


  6. #6

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    SqlConnection con = newSqlConnection(constr);
    SqlDataAdapter dad = newSqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
    DataTable dt = newDataTable();
    dad.Fill(dt);

    checkedListBox1.DataSource = dt;
    checkedListBox1.DisplayMember =
    "member";

    سلام.


    foreach (DataRowView drv in this.checkedListBox1.Items)
    {
    string fieldName = drv["member"] as string;
    }


    موفق باشید.

  7. #7
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    Question نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    دوست عزیز متاسفانه این کد عمل نمیکنه من به این صورت از ش استفاده کردم لطفاً اگر ایرادی داره اصلاحش کنید ممنونم

    ;(
    SqlConnection con = newSqlConnection(constr);
    SqlDataAdapter dad = newSqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
    DataTable dt = newDataTable();
    dad.Fill(dt);
    foreach (DataRowView drv inthis.checkedListBox1.Items)
    {
    string fieldName = drv["member"] as string;
    }
    }
    آخرین ویرایش به وسیله raminsalemi : شنبه 08 خرداد 1389 در 15:19 عصر

  8. #8

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    دوست عزیز متاسفانه این کد عمل نمیکنه من به این صورت از ش استفاده کردم لطفاً اگر ایرادی داره اصلاحش کنید ممنونم

    ;(
    SqlConnection con = newSqlConnection(constr);
    SqlDataAdapter dad = newSqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
    DataTable dt = newDataTable();
    dad.Fill(dt);
    foreach (DataRowView drv inthis.checkedListBox1.Items)
    {
    string fieldName = drv["member"] asstring;
    }
    }

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

    موفق باشید.

  9. #9
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    Question نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    مشکل اینه که
    checkedListBox
    آیتم نمیگیره و عملاً هیچ اتفاقی نمیفته به نظر شما ایراد کار چیه

  10. #10

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    مشکل اینه کهcheckedListBox آیتم نمیگیره و عملاً هیچ اتفاقی نمیفته به نظر شما ایراد کار چیه
    آقا الان مشکل چیه؟ من دیگه خودم یه پروژه ایجاد کردم، و کدهایی که شما گفته بودید رو برای پر کردن لیست مزبور زدم و لیست به درستی پر شد. در مرحله بعدی هم اون حلقه رو برای شما نوشتم، تا شما بتونید لیست آیتمهای انتخاب شده رو توی یک string بریزید و با همون کد قبلی در بانک ذخیره کنید.

    حالا الان مشکل چیه؟ ایرادی وجود داره؟ لطفا اینقدر خلاصه نویسی نکنید، یک بار واضح در دو سه پاراگراف توضیح بدید هدفتون چیه، کار رو چطور انجام میدید، و به چه مشکلی برمیخورید تا بشه یکبار پرونده این تاپیک رو بست.

    موفق باشید.

  11. #11
    کاربر دائمی آواتار raminsalemi
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    پست
    125

    Question نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    دوست عزیز با تشکر از حوصله ای که برای این مشکل صرف کردید من در برنامم یک کنترل
    comboBox دارم که به فیلد کد در بانک متصله و یک کنترل
    comboBox دیگه که به نام کمیته ها متصله ویک کنترل
    checkedListBox که اعضای کمیته ها رو نشون میده با انتخاب کد کمیته نام کمیته درcomboBox دوم و نام اعضا در checkedListBox نمایش داده میشه که کاربر اعضایی رو که می خواد میتونه تیک بزنه ولی با کدی که شما لطف کردید checkedListBox پر نمیشه ممنون از راهنمایی های خوبتون

  12. #12

    نقل قول: مشکل در ثبت آیتم های checkedListBox در بانک

    نقل قول نوشته شده توسط raminsalemi مشاهده تاپیک
    دوست عزیز با تشکر از حوصله ای که برای این مشکل صرف کردید من در برنامم یک کنترل comboBox دارم که به فیلد کد در بانک متصله و یک کنترل
    comboBox دیگه که به نام کمیته ها متصله ویک کنترل checkedListBox که اعضای کمیته ها رو نشون میده با انتخاب کد کمیته نام کمیته درcomboBox دوم و نام اعضا در checkedListBox نمایش داده میشه که کاربر اعضایی رو که می خواد میتونه تیک بزنه ولی با کدی که شما لطف کردید checkedListBox پر نمیشه ممنون از راهنمایی های خوبتون
    بسیار خوب. متوجه شدم.... سوء تفاهم شد. من برای پر کردن CheckedListBox شما کدی ننوشتم. شما باید از همون کدی که خودتون نوشته بودید استفاده کنید، یعنی:


    SqlConnection con = new SqlConnection(constr);
    SqlDataAdapter dad = new SqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
    DataTable dt = new DataTable();
    dad.Fill(dt);

    checkedListBox1.DataSource = dt;
    checkedListBox1.DisplayMember = "member";


    من در مورد پر کردن CheckedListBox صحبتی نکردم، فقط عرض کردم از Dynamic SQL ها استفاده نکنید. برای این بخش از صحبتم هم کدی ننوشتم...

    در نهایت اون Loop رو به شما دادم، یعنی:


    foreach (DataRowView drv in this.checkedListBox1.Items)
    {
    string fieldName = drv["member"] as string;
    }


    که شما بتونید توی این حلقه، متغیر temp خودتون رو با fieldName پر کنید و اونو با کد مورد نظر خودتون در بانک اضافه کنید. بدین ترتیب، دیگه این نام member ها هستش که در بانک ذخیره خواهد شد و نه رشته System.Data.DataRowView... (در واقع به سوال اصلی تاپیک پاسخ دادم، و نه چگونگی استفاده از Parametric Command ها و ...)

    آیا با این توضیحات، بازهم مشکلی وجود داره؟ اگر اینطوره، بفرمایید تا مساله رو حل کنم.

    موفق باشید.

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

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