当前位置:编程学习 > C#/ASP.NET >>

提示空引用 求找错

for (int i = 1; i <= this.dataGridViewX1.RowCount; i++)
                    {
                   
                        SqlConnection sqlinc = new SqlConnection(Login.Strsqlcon);
                        sqlinc.Open();
                        string sql =
                            string.Format("INSERT INTO [T_VIP] ([T_CCARDID],[T_CNAME],[T_PNAME],[T_VKSDATE],[T_VJSDATE],[T_VFDATE],[T_VSDATE],[T_VTDATE],[T_VLNAME],[T_VNUM]) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", this.textBoxX1.Text.Trim(), this.comboBoxEx1.Text.Trim(), this.dataGridViewX1.Rows[i].Cells[0].Value.ToString(), this.dateTimeInput1.Text, this.dateTimeInput2.Text, this.dataGridViewX1.Rows[i].Cells[1].Value.ToString(), this.dataGridViewX1.Rows[i].Cells[2].Value.ToString(), this.dataGridViewX1.Rows[i].Cells[3].Value.ToString(), Login.M_str_name, i.ToString());
                        SqlCommand sqlincm;
                        sqlincm = new SqlCommand(sql,sqlinc);
                        sqlincm.ExecuteNonQuery();
                        sqlincm.Dispose();
                        sqlinc.Close();
                        sqlinc.Dispose();
                    } 空引用 --------------------编程问答-------------------- string sql =
                            string.Format("INSERT INTO [T_VIP] ([T_CCARDID],[T_CNAME],[T_PNAME],[T_VKSDATE],[T_VJSDATE],[T_VFDATE],[T_VSDATE],[T_VTDATE],[T_VLNAME],[T_VNUM]) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", this.textBoxX1.Text.Trim(), this.comboBoxEx1.Text.Trim(), this.dataGridViewX1.Rows[i].Cells[0].Value.ToString(), this.dateTimeInput1.Text, this.dateTimeInput2.Text, this.dataGridViewX1.Rows[i].Cells[1].Value.ToString(), this.dataGridViewX1.Rows[i].Cells[2].Value.ToString(), this.dataGridViewX1.Rows[i].Cells[3].Value.ToString(), Login.M_str_name, i.ToString());

下断点,一个变量一个变量地监视,就知道了。问人,神仙才知道。 --------------------编程问答-------------------- 这里面空引用的可能性太多了,还是打断点一步步的看下吧!

这代码看的蛋疼,在循环里面反复打开关闭数据库,这性能几差啊?
--------------------编程问答-------------------- 参数个数不投,, --------------------编程问答-------------------- 空引用都会抛出异常的,异常信息中会指出发生在哪一行,以及堆栈调用的详细信息,你把异常堆栈贴出来,或许能帮你找到,

要不然你就断点跟踪了,一个一个变量看, --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 在能进入循环的情况下,出现空引用的只能是sql语句里面的参数. --------------------编程问答-------------------- 大概可能出错的地方是
1)链接字符串出错;
2)数据库指定为空的 结果赋值为空;
--------------------编程问答--------------------
引用 8 楼 luodayoudianzi 的回复:
大概可能出错的地方是
1)链接字符串出错;
2)数据库指定非空的 结果赋值为空;

第二点极有可能 你把sql 拷贝出来单独看看
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,