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

نام تاپیک: مشکل نمایش داده جستجو شده بر روی datagiridview

  1. #1

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

    سلام

    من یک فرم جستجو دارم که 2تا combobox و یک textbox دارد.
    کمبو باکس اول نوع که کتاب،جزوه،دیسک است را مشخص می کند و کمبو باکس دوم اساس جستجو که برای کتب بر اساس نام نویسنده،نام مترجم،نام ناشر و موضوع است.
    اما table کتاب جدا،table مترجم جدا،table موضوع هم جدا است.
    من یک بر نامه نوشتم که وقتی شخص نوع و اساس جستجو را از این دو کمبو باکس انتخاب کرد اسمی که در textbox جستجو می کند را بر روی گرید ویو نمایش بدهد.
    اما فقط جدول خالی را نمایش می دهد و داده های درون آن را نمی آورد!!!!!
    لطفاً کمکم کنید.
    این هم کد هایی که برای دو تا از این ها نوشتم در قسمت textchanged ،تکس باکسم.
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: png axe.png‏ (18.3 کیلوبایت, 62 دیدار)

  2. #2

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview


  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام
    query بنظر اشتباه میاد بخصوص ( like ' select IdTranslator .....(

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

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام،شما بین جداولتون ارتباط برقرار کردید؟وقتی قراره با چندتا جدول کار کنید از دستور inner join استفاده کنید.

  5. #5

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام
    دوست عزیز با inner join هم امتحان کردم اما این بار هم فقط جدول خالی را آورد!!!!!!!!!!

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    اگر بین جدول ها ارتباط برقرار نکرده باشید دستور inner join کارایی نداره،یه عکس از ارتباط بین جدول ها بگیر و اینجا بزار (یعنی از قسمت دیاگرام).

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    نقل قول نوشته شده توسط farhadnorozi مشاهده تاپیک
    چه ربطی داشت؟؟؟

  8. #8

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام
    دوست من با فرض اینکه شما یک کوئری نوشتید که اطلاعاتی رو از سه جدول در گرید نمایش می ده که این مستلزمه join هست می تونید به راحتی با استفاده از خاصیت BindingSource.Filter نام فیلد ها را ذکر کنید و مقدار دو کمبو باکس و TextBox رو به اون اضافه کنید:



    Bindingsource1.Filter = String.Format("Field1= {0}" +
    TextBox1.Text+" AND Field2= {1}"+ComboBox1.Text);

  9. #9

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    بین جدول ها ارتباط است.
    tblBook:TitleBook,IdBook,IdWriter,IdSubject,IdTran slator,CodeShabak,Publisher,Language,CountBook
    tblWriter:IdWriter,Writer
    tblTrans:IdTranslator,Translator
    tblSubject:IdSubject,Subject
    در tblbook ،IdBook
    در tblWriter،IdWriter
    در tvlTrans،IdTranslator
    در tblSubject،IdSubject
    کلید می باشند
    من این کد ها را برای IdSubject نوشتم اما بر اساس کد کتابجستجو می کند.
    حتی بر اساس TitleBook که در جدول کتاب است هم جستجو نمی کند.
    من این کد ها را در SQL تست کردم درست کار می کند.

  10. #10

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    axe.png
    این کد هایی که برای کتاب و کد موضوع نوشتم.

  11. #11

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    اگه کسی می تونه لطفاً کمکم کنه چون فقط 2 روز وقت دارم تا پروژه ام را تحویل بدهم.

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    شما گفتید بین جدول هاتون ارتباط هست،یه لطف کن از قسمت دیاگرام یه عکس از جدول ها بگیر و بزار تا مطمئن شیم که مشکل از سمت sql نباشه. چون کدنویسی اینجور گزارش ها کار ساده ای هستش.

  13. #13

    Question

    این هم دیاگرام این سه جدول دوست عزیزaxe2.png

  14. #14
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام

    دوست عزیز بهتر است برای حل مشکلتون مرحله به مرحله پیش برید :

    1- query مناسب را بدون فیلتر ( where) بنویسید و روی sql server اجرا کنید . در صورتیکه جواب گرفتین
    2 - شرط فیلتر را در query منظور و روی sqlserver اجرا کنید
    .
    .
    .
    لذا پیشنهاد میشود :

    Select * From tblBook B
    Left Outer Join tblWriter W ON B.IdWriter=W.IdWriter
    INNER JOIN tblTrans T ON B.IdTranslator=T.IdTranslator
    INNER JOIN tbSubject S ON B.IdSubject=S.IdSubject



    سپس بخش Where مناسب را داخل query کنید و روی sqlServer تست کنید
    برای راحتی کار ( و یا شاید برای خوانایی Query ) میتوانید عناوین ستونهای datagridview را بعدا و مستقیم روی گرید اعمال کنید و ...

    چگونگی تاثیر انتخابهای مختلف combo ها هم ( با توجه به نحوه پر کردن آنها و ارتباطشون با فیلدهای جداول و ... ) مشخص نیست تا بشود بیشتر راهنمایی کرد
    موفق باشید

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام دوست من، راستش نمیدونم چطور شد که تصمیم گرفتم برنامه شما رو بصورت کامل روی سیستم خودم اجرا کنم،واقعا وقت گیر بود ولی امیدوارم که مشکلتون رو حل کنه.
    این تمام کدیه که نیاز دارید:
    SqlConnection con = new SqlConnection("Data Source = (local); Initial Catalog =Book;Integrated Security = True");
    SqlDataAdapter da = new SqlDataAdapter("select tblBook.IdBook,tblBook.TitleBook,tblBook.Publisher ,tblBook.CountBook,tblbook.ShabakCode,tblBook.Lang uage,tblBook.Year,tblSubject.Subject,tblWriter.Wri ter,tblTrans.Translator from tblBook inner join tblSubject on tblBook.IdSubject = tblSubject.IdSubject inner join tblWriter on tblBook.IdWriter = tblWriter.IdWriter inner join tblTrans on tblBook.IdTranslator = tblTrans.IdTranslator where tblBook.IdSubject =" + txtsubject.Text.Trim(), con);
    DataTable dt = new DataTable();
    da.Fill(dt);
    if (dt.Rows.Count != 0)
    dataGridView1.DataSource = dt;
    else
    MessageBox.Show(" هیچ رکوردی یافت نشد");
    con.Close();

    موفق و شاد و تندرست باشید.

  16. #16

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    شرمنده دوست عزیز ولی کدمن درsql جواب میده یک تکه از برنامم رو میزارم تا بیشتر متوجه منظورم بشید اگه زودترکمکم کنید ممنونتون میشم
    فایل های ضمیمه فایل های ضمیمه

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

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    ببینید من کد کامل رو براتون گذاشتم، دیگه مشکلتون کجاست؟
    کدهایی رو که واستون گذاشتم درون دکمه بذارید.
    یه textbox روی فرم بزارید و idsubject رو وارد کنید.
    همین.
    یه تست کنید ضرر نمیکنید. نیازی به کدهای خودتون نیست. در واقع کدهای خودتون ایراد داشتن.
    اگر سوال دیگه ای داشتید بپرسید.

  18. #18
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    سلام

    namespace search
    {
    public partial class Form1 : Form
    {
    string searchQuery;

    SqlConnection sc = new SqlConnection("Data Source=.;Initial Catalog=......;Integrated Security=True");
    SqlCommand cmd = new SqlCommand();

    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    BindingSource bind = new BindingSource();
    public Form1()
    {
    InitializeComponent();
    }



    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    sc.Open();
    string strSql =" Select B.IdBook as [کدکتاب],B.TitleBook as [عنوان کتاب],";
    strSql +=" B.Publisher as[ناشر],B.CountBook as[تعداد],";
    strSql +=" B.ShabakCode as[کدشابک],B.Language as[زبان],";
    strSql +=" B.Year as[سال چاپ],S.Subject as[موضوع],";
    strSql +=" W.Writer as[نویسنده],T.Translator as[مترجم] ";
    strSql +=" from tblBook B left outer join tblSubject S on B.IdSubject=S.IdSubject ";
    strSql +=" INNER join tblWriter W on B.IdWriter=W.IdWriter ";
    strSql +=" INNER join tblTrans T on B.IdTranslator=T.IdTranslator ";
    string strWhere = "";
    if (comboBox1.SelectedIndex == 0)
    {
    if (comboBox2.SelectedIndex == 0)
    strWhere = " Where B.IdBook= " + textBox1.Text.Trim();
    if (comboBox2.SelectedIndex == 1)
    strWhere = " where B.TitleBook LIKE N'" + textBox1.Text.Trim() + "%'";
    if (comboBox2.SelectedIndex == 2)
    strWhere = " where (S.Subject LIKE N'" + textBox1.Text.Trim() + "%')";
    if (comboBox2.SelectedIndex == 3)
    strWhere = " where (B.Publisher LIKE N'" + textBox1.Text.Trim() + "%')";
    if (comboBox2.SelectedIndex == 4)
    strWhere = " where (W.Writer LIKE N'" + textBox1.Text.Trim() + "%')";
    }
    else
    {
    if (comboBox1.SelectedIndex == 1)
    {
    if (comboBox2.SelectedIndex == 0)
    strWhere = " where (W.Writer LIKE N'" + textBox1.Text.Trim() + "%')";
    if (comboBox2.SelectedIndex == 1)
    strWhere = " where (T.Translator LIKE N'" + textBox1.Text.Trim() + "%')";
    if (comboBox2.SelectedIndex == 2)
    strWhere = " where (S.Subject LIKE N'" + textBox1.Text.Trim() + "%')";

    }
    }
    searchQuery = strSql + strWhere;
    dt.Clear();
    SqlDataAdapter da = new SqlDataAdapter(searchQuery, sc);
    da.Fill(dt);

    dataGridViewsearch.DataSource = dt;
    sc.Close();
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
    comboBox2.Items.Clear();
    comboBox2.Text = "";
    if (comboBox1.SelectedIndex == 0)
    {
    comboBox2.Items.Add("کدکتاب");
    comboBox2.Items.Add("نام کتاب");
    comboBox2.Items.Add("موضوع");
    comboBox2.Items.Add("ناشر");
    comboBox2.Items.Add("نویسنده");
    }
    else
    if (comboBox1.SelectedIndex == 1)
    {
    comboBox2.Items.Add("نویسنده");
    comboBox2.Items.Add("مترجم");
    comboBox2.Items.Add("موضوع");
    }
    }

    }
    }


    بقیه را هم با سلیقه خودتون تکمیل کنید

  19. #19

    نقل قول: مشکل نمایش داده جستجو شده بر روی datagiridview

    دوستان خیلی لطف کردید کارم راه افتاد واقعاً ممنون...

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

  1. مشکل نمایش فیلدهای حذف شده در صفحه
    نوشته شده توسط zakieh در بخش PHP
    پاسخ: 9
    آخرین پست: پنج شنبه 01 اسفند 1387, 12:43 عصر
  2. مشکل نمایش نتیجه جستجو در بانک داده SQL
    نوشته شده توسط rezaiy.ali در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 18 شهریور 1386, 12:08 عصر
  3. نمایش داده ارسال شده به پورت
    نوشته شده توسط parisa2002 در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 19 مهر 1384, 11:39 صبح
  4. مشکل نمایش داده های فارسی در Java
    نوشته شده توسط abdollahi در بخش برنامه‌نویسی جاوا
    پاسخ: 2
    آخرین پست: جمعه 03 تیر 1384, 06:55 صبح
  5. چاپ پیغام در asp.net و مشکل نمایش نتیجه جستجو درDataGrid
    نوشته شده توسط arshia_ در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 22 خرداد 1383, 20:10 عصر

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

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