未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 85: cm.Parameters.Add(new OleDbParameter("@Course_id", OleDbType.VarChar, 200));
行 86:
行 87: cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
行 88: cm.Parameters["@Course_id"].Value=Tbx_courseid.Text;
行 89:
源文件: c:\DZY\xuanke1.aspx.cs 行: 87 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
Student_Class.xuanke1.Btn_yes_Click(Object sender, EventArgs e) in c:\DZY\xuanke1.aspx.cs:87
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +97
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4880代码
string strconn = ConfigurationSettings.AppSettings["dsn"];
OleDbConnection cn = new OleDbConnection(strconn);
cn.ConnectionString = "Provider=DMOLEDB.1; Data Source=LOCALHOST; Initial Catalog=S_CLASS; User ID=U1; Password=a123456; ";
cn.Open();
strsql = "insert into S_CLASS.CLASS.student_course(Student_id,Course_id) values(@Student_id,@Course_id)";
OleDbCommand cm = new OleDbCommand(strsql, cn);
cm.Parameters.Add(new OleDbParameter("@Student_id", OleDbType.VarChar, 200));
cm.Parameters.Add(new OleDbParameter("@Course_id", OleDbType.VarChar, 200));
cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
cm.Parameters["@Course_id"].Value=Tbx_courseid.Text;
cn.Open();
try
{
cm.ExecuteNonQuery();
Lbl_note2.Text=" 选课成功!";
}
catch(SqlException)
{
Lbl_note.Text="添加失败!";
}
cn.Close();
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 85: cm.Parameters.Add(new OleDbParameter("@Course_id", OleDbType.VarChar, 200));
行 86:
行 87: cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
行 88: cm.Parameters["@Course_id"].Value=Tbx_courseid.Text;
行 89:
源文件: c:\DZY\xuanke1.aspx.cs 行: 87 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
Student_Class.xuanke1.Btn_yes_Click(Object sender, EventArgs e) in c:\DZY\xuanke1.aspx.cs:87
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +97
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4880代码
string strconn = ConfigurationSettings.AppSettings["dsn"];
OleDbConnection cn = new OleDbConnection(strconn);
cn.ConnectionString = "Provider=DMOLEDB.1; Data Source=LOCALHOST; Initial Catalog=S_CLASS; User ID=U1; Password=a123456; ";
cn.Open();
strsql = "insert into S_CLASS.CLASS.student_course(Student_id,Course_id) values(@Student_id,@Course_id)";
OleDbCommand cm = new OleDbCommand(strsql, cn);
cm.Parameters.Add(new OleDbParameter("@Student_id", OleDbType.VarChar, 200));
cm.Parameters.Add(new OleDbParameter("@Course_id", OleDbType.VarChar, 200));
cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
cm.Parameters["@Course_id"].Value=Tbx_courseid.Text;
cn.Open();
try
{
cm.ExecuteNonQuery();
Lbl_note2.Text=" 选课成功!";
}
catch(SqlException)
{
Lbl_note.Text="添加失败!";
}
cn.Close();
if(Session["User_id"]!=null)
{
Session["User_id"].ToString();
}
把上面的红字部分换为字符串试试
cm.Parameters["@Student_id"].Value=Session["User_id"].ToString();
把上面的红字部分换为字符串试试我试过了也不行 晕
2、DateSet 为空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值
9、使用FindControl时,控件不存在却没有做预处理
10、重复定义造成未将对象引用设置到对象的实例错误