未将对象引用设置到对象的实例---错误在三楼---求大侠改正 本帖最后由 chase_wang 于 2013-04-05 10:42:28 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 App_Codeusing System;using System.Collections;using System.Configuration;using System.Data;using System.Data.Sql;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;/// <summary>///EosClass 的摘要说明/// </summary>namespace Eos.Class{public class EosClass{ public SqlConnection myConnection; public EosClass() { // //TODO: 在此处添加构造函数逻辑 // } bool myDBConSelfOpen = false; //自动打开连接 private void OpenCon() { if (myConnection == null) { string myConnStr = HttpContext.Current.Application["ConnStr"].ToString(); myConnection = new SqlConnection(myConnStr); myConnection.Open(); myDBConSelfOpen = true; } } //自动关闭连接 private void CloseCon() { if (myDBConSelfOpen == true) { myConnection.Close(); myConnection.Dispose(); myConnection = null; myDBConSelfOpen = false; } } //获取第一行记录 public DataRow GetDataRow(string strQuery) { DataRow myRow = null; try { DataTable myTable = GetDataTable(strQuery); if (myTable.Rows.Count > 0) { myRow = myTable.Rows[0]; } } catch (Exception ex) { throw ex; } return myRow; } //获取多条记录 public DataTable GetDataTable(string strQuery) { //声明数据集 myDataSe DataTable myTable = new DataTable(); try { myTable = GetDataSet(strQuery).Tables[0]; } catch (Exception ex) { throw ex; } //返回数据集 myDataSet return myTable; } //获取多条记录 public DataSet GetDataSet(string strQuery) { //声明数据集 myDataSe DataSet myDataSet = new DataSet(); try { OpenCon(); //声明适配器 myDataAdapter用于连接 DataSet 与数据库 SqlDataAdapter myDataAdapter = new SqlDataAdapter(strQuery, myConnection); //将数据装填到 DataSet中 myDataAdapter.Fill(myDataSet); } catch (Exception ex) { throw ex; } CloseCon(); //返回数据集 myDataSet return myDataSet; } /// <summary> /// 执行操作数据库的命令(增、删、改)含参数 /// </summary> /// <param name="strQuery">操作数据库的SQL语句</param> public bool ExecuteSql(string strQuery) { bool flag = true; //打开数据库 OpenCon(); SqlTransaction myTra = myConnection.BeginTransaction(); //创建操作数据库的命令 SqlCommand myCommand = new SqlCommand(strQuery, myConnection, myTra); try { //执行命令 myCommand.ExecuteNonQuery(); myTra.Commit(); } catch (Exception ex) { flag = false; myTra.Rollback(); throw ex; } CloseCon(); return flag; }}} 未将对象引用设置到对象的实例。说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 69: catch (Exception ex)行 70: {行 71: throw ex;行 72: }行 73: return myRow; GetDataTable(strQuery)返回值是null吧if (myTable!=null&&myTable.Rows.Count > 0) 设置断点,单步跟踪。最好解决的bug,没有之一。 DataTable myTable = GetDataTable(strQuery);判空 怎么查询文本框内有多少个顿号?【千万别告诉我用眼睛查】 VirtualBox虚拟机怎么做服务器啊 数据库连接问题 服务端的一个按钮 加OnClientClick事件 进来看看 datagrid图片显示问题,图片放在文件夹中,图片的名称保存于数据库 请问有没有好用的纯时间(时分秒)控件?不要日期。 分不多,但问题有价值,请进 一个超高难度的问题,可能无人能解决了! 各位好兄弟,请帮忙解决一个关于Page.IsBackPost的简单问题 datagrid绑定两个select列怎么? 谁会asp.net网站源码修改,在线等..... 求大神看看为什么SQL插入数据时老是出错
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;/// <summary>
///EosClass 的摘要说明
/// </summary>
namespace Eos.Class
{
public class EosClass
{
public SqlConnection myConnection;
public EosClass()
{
//
//TODO: 在此处添加构造函数逻辑
//
} bool myDBConSelfOpen = false;
//自动打开连接
private void OpenCon()
{
if (myConnection == null)
{
string myConnStr = HttpContext.Current.Application["ConnStr"].ToString();
myConnection = new SqlConnection(myConnStr);
myConnection.Open(); myDBConSelfOpen = true;
}
}
//自动关闭连接
private void CloseCon()
{
if (myDBConSelfOpen == true)
{
myConnection.Close();
myConnection.Dispose();
myConnection = null; myDBConSelfOpen = false;
}
} //获取第一行记录
public DataRow GetDataRow(string strQuery)
{
DataRow myRow = null;
try
{
DataTable myTable = GetDataTable(strQuery);
if (myTable.Rows.Count > 0)
{
myRow = myTable.Rows[0];
}
}
catch (Exception ex)
{
throw ex;
}
return myRow;
} //获取多条记录
public DataTable GetDataTable(string strQuery)
{
//声明数据集 myDataSe
DataTable myTable = new DataTable(); try
{
myTable = GetDataSet(strQuery).Tables[0];
}
catch (Exception ex)
{
throw ex;
}
//返回数据集 myDataSet
return myTable;
} //获取多条记录
public DataSet GetDataSet(string strQuery)
{
//声明数据集 myDataSe
DataSet myDataSet = new DataSet(); try
{
OpenCon();
//声明适配器 myDataAdapter用于连接 DataSet 与数据库
SqlDataAdapter myDataAdapter = new SqlDataAdapter(strQuery, myConnection); //将数据装填到 DataSet中
myDataAdapter.Fill(myDataSet);
}
catch (Exception ex)
{
throw ex;
}
CloseCon(); //返回数据集 myDataSet
return myDataSet;
}
/// <summary>
/// 执行操作数据库的命令(增、删、改)含参数
/// </summary>
/// <param name="strQuery">操作数据库的SQL语句</param>
public bool ExecuteSql(string strQuery)
{
bool flag = true; //打开数据库
OpenCon();
SqlTransaction myTra = myConnection.BeginTransaction();
//创建操作数据库的命令
SqlCommand myCommand = new SqlCommand(strQuery, myConnection, myTra);
try
{
//执行命令
myCommand.ExecuteNonQuery();
myTra.Commit();
}
catch (Exception ex)
{
flag = false;
myTra.Rollback();
throw ex;
}
CloseCon(); return flag;
}
}
}
行 69: catch (Exception ex)
行 70: {
行 71: throw ex;
行 72: }
行 73: return myRow;
最好解决的bug,没有之一。
判空