楼主你好:
你的程序 if (this.dataGridView1.Rows[n].Cells[i].Value.ToString()==null)报错是肯定的,因为这个if永远也不会成立。
首先你要了解null和空字符串的区别,==前面this.dataGridView1.Rows[n].Cells[i].Value你后面使用了.ToString(),这就必须保证this.dataGridView1.Rows[n].Cells[i].Value!=null才能进行.ToString()转换,因为如果this.dataGridView1.Rows[n].Cells[i].Value==null,再转换就会报你的那个错误。
应该这样写:
if (this.dataGridView1.Rows[n].Cells[i].Value==null )
{
str[i] = "";
}
else
{
str[i] = dataGridView1.Rows[n].Cells[i].Value.ToString().Trim()== "" ? "": dataGridView1.Rows[n].Cells[i].Value.ToString().trim();
}
希望对你有帮主,望采纳:)
我想再请教一个问题,如何在messagebox.show("共几条数据保存成功","提示");这个【几】,怎么用表达式表示??
答:messagebox.show("共"+num+"条数据保存成功","提示"); 其中num是你前面计算的值
if (string.isnullorempty(this.dataGridView1.Rows[n].Cells[i].Value))
if (this.dataGridView1.Rows[n].Cells[i].Value==null)