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

نام تاپیک: خطای NullRefrence هنگام جستجو در دیتاگرید

  1. #1
    کاربر دائمی آواتار momimomi
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اصفهان
    پست
    269

    خطای NullRefrence هنگام جستجو در دیتاگرید

    برنامه نویسان عزیز سلام
    یک دیتاگریدویو دارم که به صورت کدنویسی با دیتابیس پر میشه و یک تکست باکس هم دارم که جستجو روی دیتاگرید رو انجام میده، در رویداد text_Change تکست باکس متد SearchPersonel را فراخوانی میکنم که کدهاش به شکل زیر هست:



    #region SearchPersonel
    void SearchPersonel()
    {
    string query = null;
    try
    {
    switch (cmbSearch.Text)
    {
    case "نام":
    {
    query = "SELECT personel2.folder,personel.*" +
    "FROM personel left outer JOIN personel2 ON personel2.code=personel.code where personel.fname like '" + txtSearch.Text + "%'"; break;
    }


    case "نام خانوادگی":
    {
    query = "SELECT personel2.folder,personel.*" +
    "FROM personel left outer JOIN personel2 ON personel2.code=personel.code where personel.lname like '" + txtSearch.Text.TrimStart().TrimEnd().Trim() + "%'"; break;
    }


    case "کد پرسنلی":
    {
    query = "SELECT personel2.folder,personel.*" +
    "FROM personel left outer JOIN personel2 ON personel2.code=personel.code where personel.code like '" + txtSearch.Text + "%'"; break;
    }
    default: { break; }


    }




    OleDbConnection con = dalobj.SetConnection();
    con.Open();
    OleDbCommand command = new OleDbCommand();
    command.CommandText = query;
    command.Connection = con;
    OleDbDataAdapter adapter = new OleDbDataAdapter();
    adapter.SelectCommand = command;
    DataTable objDataTable = new DataTable();
    adapter.Fill(objDataTable);
    con.Close();
    dgArzyabi.DataSource = objDataTable;
    }
    catch { }
    }
    #endregion



    با تغییر متن در تکست باکس جستجو یک ردیف از دیتاگرید select میشود
    بعضی مقادیر سلولهای ردیف select شده درون چند تکست باکس ریخته می شوند به صورت زیر:



    private void txtSearch_TextChanged(object sender, EventArgs e)
    {
    SearchPersonel();
    txtLFname.Text = dgArzyabi.CurrentRow.Cells[2].Value.ToString() + " " +
    dgArzyabi.CurrentRow.Cells[1].Value.ToString();
    txtFAnameComtion.Text = dgArzyabi.CurrentRow.Cells[4].Value.ToString();
    txtCodeComtion.Text = dgArzyabi.CurrentRow.Cells[3].Value.ToString();
    txtDgComtion.Text = dgArzyabi.CurrentRow.Cells[6].Value.ToString();
    txtsh.Text = dgArzyabi.CurrentRow.Cells[0].Value.ToString();
    }


    اما اگر کد پرسنلی وارد شده برای جستجو در دیتابیس یا دیتاگرید نباشد ارور زیر ایجاد میشود.
    چرا؟

    err_null.png

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: خطای NullRefrence هنگام جستجو در دیتاگرید

    خب جواب رو خودتون گفتید: آیتمی در گرید شما یافت نمیشه که میخواهید مفدار سل دومش و یکمش رو بگیرید. شرطی بعد از searchPersoanal بزارید مبنی بر پر بودن گرید.

  3. #3
    کاربر دائمی آواتار mehrdad.ghorbaniyan
    تاریخ عضویت
    بهمن 1392
    محل زندگی
    اصفهان
    سن
    32
    پست
    137

    نقل قول: خطای NullRefrence هنگام جستجو در دیتاگرید

    سلام.خب برای اینکه رکوردی نیست که سلول 1 و... را بریزه داخل تکست باکس ها.
    یه شرط بذار اگه تعداد رکوردها بالاتر از 1 بود این کارو کنه :

    SearchPersonel();
    if (dgArzyabi.RowCount > 0)
    {
    txtLFname.Text = dgArzyabi.CurrentRow.Cells[2].Value.ToString() + " " +
    dgArzyabi.CurrentRow.Cells[1].Value.ToString();
    txtFAnameComtion.Text = dgArzyabi.CurrentRow.Cells[4].Value.ToString();
    txtCodeComtion.Text = dgArzyabi.CurrentRow.Cells[3].Value.ToString();
    txtDgComtion.Text = dgArzyabi.CurrentRow.Cells[6].Value.ToString();
    txtsh.Text = dgArzyabi.CurrentRow.Cells[0].Value.ToString();
    }

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

  1. جستجو توی دیتاگرید
    نوشته شده توسط mah.yar در بخش VB.NET
    پاسخ: 27
    آخرین پست: یک شنبه 20 مرداد 1387, 22:04 عصر
  2. خطای در هنگام ثبت
    نوشته شده توسط alireza244 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 12 دی 1385, 16:47 عصر
  3. پاسخ: 11
    آخرین پست: سه شنبه 21 آذر 1385, 21:32 عصر
  4. تغییر Cursor در هنگام جستجو
    نوشته شده توسط spicirmkh در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: یک شنبه 21 تیر 1383, 14:26 عصر
  5. پیغام خطای دیگر هنگام Replication
    نوشته شده توسط mostafa612003 در بخش SQL Server
    پاسخ: 7
    آخرین پست: چهارشنبه 06 اسفند 1382, 10:25 صبح

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

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