在线求助:未将对象引用设置到对象的实例。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class vote : System.Web.UI.Page
{
public string voteID = "1";
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string sdr = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sdr);
conn.Open();
SqlCommand cmd = new SqlCommand("select voteTitle from voteMaster where voteID=" + this.voteID, conn);
string title = Convert.ToString(cmd.ExecuteScalar());
lblVoteTitle.Text = title;
SqlCommand cmdItem = new SqlCommand("select voteDetailsID,voteItem from voteDetails where voteID=" + this.voteID, conn);
SqlDataReader sdr_cmd = cmdItem.ExecuteReader();
this.rBtnVoteItem.DataSource = sdr_cmd;
this.rBtnVoteItem.DataValueField = "voteDetailsID";
this.rBtnVoteItem.DataTextField = "voteItem";
this.rBtnVoteItem.DataBind();
sdr_cmd.Close();
conn.Close();
}
}
protected void btnVote_Click(object sender, EventArgs e)
{
string sdr = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sdr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText ="update voteDetails set voteNum=voteNum+1 where voteID=" + voteID + " and voteDetailsID=" + this.rBtnVoteItem.SelectedValue.ToString();
cmd.ExecuteNonQuery();
conn.Close();
}
protected void btnShowResult_Click(object sender, EventArgs e)
{
Response.Redirect("showResult.aspx? voteid="+this.voteID);
}
}
==========================================================
showResult.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class showResult : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String voteID = Request.QueryString["voteid"].ToString();
string sql = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
SqlConnection conn = new SqlConnection(sql);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from voteDetails where voteID="+voteID,conn);
SqlDataReader sdr=cmd.ExecuteReader();
while (sdr.Read())
{
Response.Write("<font size=12 >"+sdr.GetString(2)+sdr.GetSqlInt32(3).ToString()+"</font> <br>");
}
}
}
“/vote”应用程序中的服务器错误。
--------------------------------------------------------------------------------
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 14: protected void Page_Load(object sender, EventArgs e)
行 15: {
行 16: String voteID = Request.QueryString["voteid"].ToString();行 17: string sql = "server=MICROSOF-58DADF\\SQLEXPRESS;database=vote;uid=sa;pwd=root;";
行 18: SqlConnection conn = new SqlConnection(sql);
源文件: f:\C#教程\新建文件夹\vote\showResult.aspx.cs 行: 16
堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
showResult.Page_Load(Object sender, EventArgs e) in f:\C#教程\新建文件夹\vote\showResult.aspx.cs:16
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3035
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42