读书人

最后10分求解.解决方法

发布时间: 2012-02-22 19:36:55 作者: rapoo

最后10分求解.
我的代码如下:

try
{
DataSet dsl = new DataSet();
string gzyear = (String)Session[ "GZYear "];
string gzmonth = (String)Session[ "GZMonth "];
string bdepart = (String)Session[ "ChineseName "];
string strSQL = "select top 1 TiJiao,ShenHe from ejjj where GZYear= ' " + gzyear.Trim() + " ' and GZMonth= ' " + gzmonth.Trim() + " ' and Bdepart= ' " + bdepart.Trim() + " ' ";
dsl = getAdvice(strSQL);
string tijiao = dsl.Tables[0].Rows[0].ItemArray[0].ToString();
string shenhe = dsl.Tables[0].Rows[0].ItemArray[1].ToString();
if (dsl.Tables[0].Rows.Count > 0)
{
if (!string.IsNullOrEmpty(tijiao))
{
if ((tijiao.Trim() == "t "))
{
GridView1.Columns[0].Visible = false;
ButtonTJ.Visible = false;
}
else
{
GridView1.Columns[0].Visible = true;


}
}
else
{
GridView1.Columns[0].Visible = true;
}
}
else
{
GridView1.Columns[0].Visible = true;
}
dsl.Dispose();
}
catch (Exception errors)
{
Response.Write( " <script> alert( '系统出错! " + errors.Message.ToString() + " ') </script> ");
}


public DataSet getAdvice(string strSQl) //返回多值
{
string constr = ConfigurationManager.ConnectionStrings[ "gongziConnectionString "].ConnectionString;
SqlConnection con = new SqlConnection(constr);
con.Open();
string sqlText = strSQl;
SqlDataAdapter da = new SqlDataAdapter(sqlText, con);
DataSet dsResult = new DataSet();
da.Fill(dsResult);
con.Close();
con.Dispose();
return dsResult;
}

有时候使用时很正常,但有时候却提示 "未将对象引用设置到对象的实例 ".请高手指教.

[解决办法]
Avoid(千金散尽还复来) 说的对

Session中保存的数据是不稳定的,有可能会丢失,如果在使用之前不判断的话,就会出现这种错误
在使用之前,应该先判断:if (Session[key] == null)

读书人网 >asp.net

热点推荐