日期:2014-05-17  浏览次数:20451 次

问题——未将对象引用设置到对象的实例
方法: public int GetIDInsert(string SqlString) //根据Sql语句,插入记录并返回生成的编号
  {
  int Count = -1;
  Open();
  SqlCommand cmd = new SqlCommand(SqlString, Connection);
  Count = int.Parse(cmd.ExecuteScalar().ToString().Trim());
  Close();
  return Count;
  }

调用的代码:string insertPaper = "insert into Paper(userId,courseId,paperName,paperState,needTime) values('"+Session["userId"] +"','"+ int.Parse(ddlCourse.SelectedValue) + "','" + txtPaperName.Text + "',1" + ",'" + int.Parse(txtNeedTime.Text) + "')";
  afterId = GetIDInsert(insertPaper); //保存试卷,并返回自动生成的试卷编号

结果出现错误:未将对象引用设置到对象的实例

------解决方案--------------------
Session["userId"] 看看它 是不是为null了
------解决方案--------------------
有空值了,如果说是debug版,call statck应该会告诉你哪行出得问题。
在那行上设置断点,运行到断点后,查看变量,看看哪个是null.
------解决方案--------------------
看session吧
断点
而且楼主 最好把 一些接收用户信息的地方不要直接拼接成字符串 很危险
用个变量什么的接收写 看看谁null或者空了
这种问题一般 是没实例化 或者是null了你还使用了某个方法导致的
------解决方案--------------------
楼主调式吧 看看session是不是为Null
------解决方案--------------------
未实例化有字段出现空值,在上段代码中设置断点,调试即可找出