未将对象引用设置到对象的实例 这个异常怎么解决

谁学逆向工程 2016-10-27 06:31:20
窗口有两个控件,一个是 DataGridView,一个是按钮。窗口在加载的时候给 DataGridView 初始化50行。
按钮单击的时候读取表格的4列内容插入数据库,下面是按钮代码
dgv就是 DataGridView 控件。
蛋疼的是 if 语句不是每次都发生异常!!
        private void btn_ok_Click(object sender, EventArgs e)
{
for (int i = 0; i < dgv.Rows.Count; i++)
{
try
{
if (dgv.Rows[i].Cells[0].Value.ToString() == "" ||
dgv.Rows[i].Cells[1].Value.ToString() == "" ||
dgv.Rows[i].Cells[2].Value.ToString() == "" ||
dgv.Rows[i].Cells[3].Value.ToString() == "")
{
MessageBox.Show("请补全第" + i + 1 + "行信息");
break;
}
}
catch (Exception ee)
{
}
GlobleVariable.command = new MySqlCommand("insert into 菜单 values('" +
dgv.Rows[i].Cells[0].Value.ToString() + "', '" +
dgv.Rows[i].Cells[1].Value.ToString() + "', " +
Double.Parse(dgv.Rows[i].Cells[2].Value.ToString()) + ", '" +
dgv.Rows[i].Cells[3].Value.ToString() + "')",GlobleVariable.mycon);
if (dgv.Rows[i].Cells[2].Value.ToString() == "")
dgv.Rows[i].Cells[2].Value = "0";
GlobleVariable.command.ExecuteNonQuery();
}
}
...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁学逆向工程 2016-10-27
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
datagridview的cell如果没有被赋值 那么cell.value很可能就是null 调用tostring()将会出这个错误
1、我在测验的时候每列都不为空 2、后面的SQL语句可以成功执行
stherix 2016-10-27
  • 打赏
  • 举报
回复
datagridview的cell如果没有被赋值 那么cell.value很可能就是null 调用tostring()将会出这个错误

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧