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

نام تاپیک: خطای Object reference not set to an instance of an object ( مورد خاص )

  1. #1

    Question خطای Object reference not set to an instance of an object ( مورد خاص )

    سلام

    قصد دارم با جستجوی فیلد کلید جدول، سایر مقادیر دیتاگرید رو وارد تکس باکس های فرم برنامه بکنم.

    این اتفاق میفته اما مشکل اینجاست که وقتی برای بار اول روی دکمه جستجو کلیک می کنم این پیغام خطا میاد :

    Object reference not set to an instance of an object
    اما وقتی برای بار دوم روی دکمه جستجو کلیک می کنم مقادیر مربوطه بدون مشکل وارد تکس باکس های فرم میشه.

    سوال من اینجاست چرا وقتی بار اول روی دکمه جستجو کلیک می کنم اون پیغام میاد؟

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



    string sqlcommand;

    try
    {
    if (bcodeTxt.Text != "")
    {

    sqlcommand = "SELECT * FROM bookTbl WHERE bookCode='" + bcodeTxt.Text + "'";
    SqlDataAdapter da = new SqlDataAdapter(sqlcommand, con);
    da.Fill(ds, "bookTbl");
    dataGridView1.DataSource = ds;
    dataGridView1.DataMember = "bookTbl";



    if (ds.Tables["bookTbl"].Rows.Count > 0)
    {

    bnameTxt.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["bookCode"].Value);
    moalefTxt.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["moalef"].Value);
    subjectTxt.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["janerBook"].Value);
    pyearTxt.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["publishYear"].Value);
    publishmentTxt.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["publishment"].Value);
    pturnTxt.Text=Convert.ToString(dataGridView1.Curre ntRow.Cells["publishTurn"].Value);
    amountTxt.Text=Convert.ToString(dataGridView1.Curr entRow.Cells["amount"].Value);
    tozihatTxt.Text=Convert.ToString(dataGridView1.Cur rentRow.Cells["tozihat"].Value);
    }
    else
    {
    MessageBox.Show("کتابی با این شماره ثبت نشده است");
    }
    }
    else
    {
    MessageBox.Show("لطفا شماره کتاب را وارد نمایید");
    }


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

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    سلام ، کدت به نظر مشکلی نداره بهترین کار Break Point بزاری و خط به خط اجرا کنی ببینی چه مشکلی داره ...

  3. #3

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    سلام
    شما چرا اطلاعات رو اول از میریزین تو دیتا گرید بعد دوباره از دیتا گرید میخونید میریزین توی تکست باکس؟ خب مستقیم از دیتا بیس که گرفتین بریزین توی تکست باکس.
    ببینید احتمالا مشکل currentrow باشه. اول یه پیغام بدیین ببینین وجود داره

  4. #4

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    دوست عزیز از دیتابیس ببین یه فیلدی رو جاگذاشتی یا نه ... چون این اررور بیشتر برای وقتهایی هست که تعداد فیلدهات با تعداد اطلاعاتی که وارد می کنی کمتر باشه این پیغام رو میده.. خوب بررسی کن

  5. #5

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    نقل قول نوشته شده توسط hamidkh مشاهده تاپیک
    سلام
    شما چرا اطلاعات رو اول از میریزین تو دیتا گرید بعد دوباره از دیتا گرید میخونید میریزین توی تکست باکس؟ خب مستقیم از دیتا بیس که گرفتین بریزین توی تکست باکس.
    ببینید احتمالا مشکل currentrow باشه. اول یه پیغام بدیین ببینین وجود داره
    من از طریق LINQ مستقیم گرفتم اما اونطور که می خواستم نشد. شما روش بهتری برای ارسال مستقیم مقادیر دیتا بیس به تکس باکس سراغ دارین؟

  6. #6

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    نقل قول نوشته شده توسط kurd_programming مشاهده تاپیک
    دوست عزیز از دیتابیس ببین یه فیلدی رو جاگذاشتی یا نه ... چون این اررور بیشتر برای وقتهایی هست که تعداد فیلدهات با تعداد اطلاعاتی که وارد می کنی کمتر باشه این پیغام رو میده.. خوب بررسی کن
    چک کردم، ردیف های جدول مشکلی نداشت.

    جالبش اینه فقط بار اول اون پیغا خطا میاد، بار دوم جواب میده و اطلاعات وارد تکس باکس ها میشن

  7. #7

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    نقل قول نوشته شده توسط emilvr مشاهده تاپیک
    چک کردم، ردیف های جدول مشکلی نداشت.

    جالبش اینه فقط بار اول اون پیغا خطا میاد، بار دوم جواب میده و اطلاعات وارد تکس باکس ها میشن
    دروود .
    اگه اینطوری یا سیستم شما ویروسی هستش یا اینکه VS.net شما مشکل داره ... چون من هم همچین مشکلی واسم پیش اومد چند هفته درگیرش شدم که آخر سر سیستمم ویرووسی بود
    واسه همین گفتم

  8. #8

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    نقل قول نوشته شده توسط kurd_programming مشاهده تاپیک
    دروود .
    اگه اینطوری یا سیستم شما ویروسی هستش یا اینکه VS.net شما مشکل داره ... چون من هم همچین مشکلی واسم پیش اومد چند هفته درگیرش شدم که آخر سر سیستمم ویرووسی بود
    واسه همین گفتم
    نه آقا ویروسی چیه، سیستم من آنتی ویروس و فایروال ارجینال داره که هر روز آپدیت میشه.

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

  9. #9

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    با سلام.

    عزیز این Error اغلب به خاطر عدم تشخیص میان دو کنترل مشابه است. مثلا وقتی شما قصد دارین روی اطلاعات یک دیتاگرید ویو که وجود نداره (مقدارش Null هست) کار کنید و از این قبیل مشکلات.

    برای راه حل هم اول بیایید با استفاده از یک If و کدهای زیر از Null نبودن - کدهایی که در اجرا مقدار Null برمیگردانند - مطمئن بشید و بعد سایر کدهای اصلی رو در قسمت Else قرار بدین.

    مثلا این کد : در این نمونه اول از Null نبودن کدی که خطا برای آن اتفاق افتاده مطمئن میشیم ودر غیر اینصورت کدهای اصلی اجرا میشوند.

      if ((tabControl1.SelectedPage.Controls[0] as DataGridView) != null)
    {
    labelX7.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[0].Value.ToString();
    textBox1.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[1].Value.ToString();
    comboBox1.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[2].Value.ToString();
    faDatePicker1.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[3].Value.ToString();
    textBox2.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[4].Value.ToString();
    textBox3.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[5].Value.ToString();
    textBox4.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[6].Value.ToString();
    comboBox2.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[7].Value.ToString();
    textBox5.Text = (tabControl1.SelectedPage.Controls[0] as DataGridView).CurrentRow.Cells[8].Value.ToString();
    }

  10. #10

    نقل قول: خطای Object reference not set to an instance of an object ( مورد خاص )

    دروود به همه دوستان ...
    من وقتی که می خوام یک کارمند رو داخل دیتا بیس خودم ثبت کنم همنون خطای incorrect near syntex '@a9 ' از می گیره دوستان کمکم کنید ممنون میشم چون مربوط میشه به پروژه پایان ترم

    privatevoid radButton1_Click(object sender, EventArgs e)
    {
    SqlDataAdapter adp1 = newSqlDataAdapter("Select personelid from personel", logform.con);
    DataSet dst1 = newDataSet();
    DataView dtv1 = newDataView();
    adp1.Fill(dst1,
    "personel");
    dtv1 = dst1.Tables[
    "personel"].DefaultView;
    dtv1.Sort =
    "personelid";
    if (dtv1.Find(txtcodek.Text) < 0)
    {
    if ((txtadd.Text != "") && (txtchild.Text != "") && (txtcodek.Text != "") && (txtdatev.Text != "") && (txtname.Text != "") && (txtpricek.Text != "") && (txttell.Text != ""))
    {
    logform.con.Open();
    SqlCommand com1 = newSqlCommand("insert into personel (personelname,personelid,dateenter,address,tel,dat eburn,type,numberchild,priceworkfix)Values(@a1,@a2 ,@a3,@a4,@a5,@a6,@a7,@a8,@a9", logform.con);
    com1.Parameters.AddWithValue(
    "@a1", txtname.Text);
    com1.Parameters.AddWithValue(
    "@a2", Convert.ToInt32(txtcodek.Text));
    com1.Parameters.AddWithValue(
    "@a3", Convert.ToDateTime(txtdatev.Text));
    com1.Parameters.AddWithValue(
    "@a4", txtadd.Text);
    com1.Parameters.AddWithValue(
    "@a5", Convert.ToInt64(txttell.Text));
    com1.Parameters.AddWithValue(
    "@a6", Convert.ToDateTime(txtdateb.Text));
    com1.Parameters.AddWithValue(
    "@a7", Convert.ToString(radDropDownList1.SelectedItem));
    com1.Parameters.AddWithValue(
    "@a8", Convert.ToInt32(txtchild.Text));
    com1.Parameters.AddWithValue(
    "@a9", Convert.ToInt32(txtpricek.Text));
    com1.ExecuteNonQuery();
    logform.con.Close();
    txtadd.Text =
    "";
    txtchild.Text =
    "";
    txtcodek.Text =
    "";
    txtdatev.Text =
    "";
    txtname.Text =
    "";
    txtpricek.Text =
    "";
    txttell.Text =
    "";
    RadMessageIcon Icon = RadMessageIcon.Question;
    RightToLeft rtl = newRightToLeft();
    RadMessageBox.Show(this, "آیا شما مطمئن هستید که میخواهید کاربر را حذف کنید ؟", "اطمینان", MessageBoxButtons.YesNo, Icon, MessageBoxDefaultButton.Button1, rtl);
    }
    else
    {
    DialogResult msg1;
    msg1 =
    MessageBox.Show("اطلاعات را کامل وارد کنید", "پیغام خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }
    else
    {
    DialogResult msg2;
    msg2 =
    MessageBox.Show("کدکارمندی وارد شده تکراری می باشد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    txtcodek.Text =
    "";
    }

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

  1. سوال: دلیل خطای Object reference not set to an instance of an object چیست؟
    نوشته شده توسط debugger در بخش C#‎‎
    پاسخ: 9
    آخرین پست: شنبه 10 مهر 1389, 23:01 عصر
  2. علت خطای Object reference not set to an instance of an object
    نوشته شده توسط pikoolas در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: جمعه 21 اسفند 1388, 21:25 عصر
  3. پاسخ: 0
    آخرین پست: شنبه 30 آبان 1388, 15:25 عصر
  4. خطای Object reference not set to an instance of an object. در دیتاتیبل
    نوشته شده توسط bahar_engineer در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: سه شنبه 26 آبان 1388, 10:48 صبح
  5. خطای Object reference not set to an instance of an object
    نوشته شده توسط sunboy در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 11 شهریور 1383, 10:50 صبح

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

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