数据保存到sql里面去了 但抛出异常:System.NullReferenceException:未将对象引用到对象的实例.在FilesForm.FileForm.btnSave_Click(Object sender,Eventargs e)位置………………….FileForm.cs:行号 146请问下这是什么问题? private void btnSave_Click(object sender, EventArgs e)
        {
  
            SqlConnection objcon = new SqlConnection(myconstring);
            objcon.Open();
            try
            {
                for (int i = 0; i <= this.dataGridView1.Rows.Count - 1; i++)
                {
                    string str = "insert into TEimpdatas Values('" + this.label3.Text + "','" + this.dataGridView1.Rows[i].Cells[0].Value.ToString() + "','"
                        + this.dataGridView1.Rows[i].Cells[1].Value.ToString() + "','"
                        + this.dataGridView1.Rows[i].Cells[2].Value.ToString() + "','"
                        + this.dataGridView1.Rows[i].Cells[3].Value.ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "','')";
                    SqlCommand objcom = new SqlCommand(str, objcon);
                    objcom.ExecuteNonQuery();
                                   }
                MessageBox.Show("OK!");
                objcon.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
                 }
      }

解决方案 »

  1.   

    dataGridView1.Rows[i].Cells[1].Value
    出现空值了。
      

  2.   

    没有啊,我数据全部都存到sql里面了.
      

  3.   

    for (int i = 0; i <= this.dataGridView1.Rows.Count - 1; i++)楼主仔细看看这句代码。
      

  4.   

    dataGridView1 有10几列,但只有4列数据才对我有用,其他列我给隐藏了
      

  5.   

    数据都保存了sql语句都执行了,但还是会抛出那样的异常.也不知道怎么回事
      

  6.   

    你的row都超出索引了,告诉你了,都没发现。一共10行,dataGridView1.Rows[10]都出现了,说毛线啊。
      

  7.   

    你的DataGridView启用了允许用户添加列
    最后一列是空,你循环时还在取最后一列的数据,并进行插入操作
    for (int i = 0; i <= this.dataGridView1.Rows.Count - 1; i++)
    改i < this.dataGridView1.Rows.Count - 1吧
      

  8.   

    另外问题原因也不一定是你说的这样,到最后一次循环的时候,i值为Count,楼主自己没有意识到,我前面提醒他了。 :)