public static DataSet getDataSet(string strSQL)
{
using(SqlConnection conn = new SqlConnection(connstr))
{
using(SqlDataAdapter da = new SqlDataAdapter(strSQL,conn))
{
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
错误发生时间:2008年06月16日 15:19:21
错误信息内容:
===========================================================================
System.Web.HttpUnhandledException: 发生类型为 System.Web.HttpUnhandledException 的异常。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
at LoadLibraryW(UInt16* )
at System.EnterpriseServices.Thunk.Security.Init()
at System.EnterpriseServices.Thunk.Security.SuspendImpersonation()
at System.EnterpriseServices.Platform.Initialize()
at System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate cb)
at System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl ctrl)
at System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl ctrl)
at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at SqlHelper.SqlHelper.getDataSet(String strSQL)
at SqlHelper.SqlHelper.getDataTable(String strSQL)
at PSManage.menu.InitMenu() in e:\programs\dotnet\psmanage\webui\menu.aspx.cs:line 56
at PSManage.menu.Page_Load(Object sender, EventArgs e) in e:\programs\dotnet\psmanage\webui\menu.aspx.cs:line 27
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain()
--- 内部异常堆栈跟踪的结尾 ---
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain()
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)可能得原因:
1、ViewState 对象为Unll。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。 1:对控件赋文本值时,值不存在
2:使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值
3:使用FindControl时,控件不存在却没有做预处理
4. 重复定义造成未将对象引用设置到对象的实例错误.
这些问题好像都不存在,请各位大侠指点迷津。
{
using(SqlConnection conn = new SqlConnection(connstr))
{
using(SqlDataAdapter da = new SqlDataAdapter(strSQL,conn))
{
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
错误发生时间:2008年06月16日 15:19:21
错误信息内容:
===========================================================================
System.Web.HttpUnhandledException: 发生类型为 System.Web.HttpUnhandledException 的异常。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
at LoadLibraryW(UInt16* )
at System.EnterpriseServices.Thunk.Security.Init()
at System.EnterpriseServices.Thunk.Security.SuspendImpersonation()
at System.EnterpriseServices.Platform.Initialize()
at System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate cb)
at System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl ctrl)
at System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl ctrl)
at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at SqlHelper.SqlHelper.getDataSet(String strSQL)
at SqlHelper.SqlHelper.getDataTable(String strSQL)
at PSManage.menu.InitMenu() in e:\programs\dotnet\psmanage\webui\menu.aspx.cs:line 56
at PSManage.menu.Page_Load(Object sender, EventArgs e) in e:\programs\dotnet\psmanage\webui\menu.aspx.cs:line 27
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain()
--- 内部异常堆栈跟踪的结尾 ---
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain()
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.CallHandlerExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)可能得原因:
1、ViewState 对象为Unll。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。 1:对控件赋文本值时,值不存在
2:使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值
3:使用FindControl时,控件不存在却没有做预处理
4. 重复定义造成未将对象引用设置到对象的实例错误.
这些问题好像都不存在,请各位大侠指点迷津。
调用时的代码也贴点出来!
还有建议不要写两层using,一层就够了
string SqlStr = "select * from t_menu where IsActive = '1'";
dt = SqlHelper.SqlHelper.getDataTable(SqlStr);
你看看错误发生在哪句,检查一下,那些变量或对象为null你上面的代码,已经new DataTable(),好像不会出错.除非你访问了SQL没返回的行
{
using(SqlConnection conn = new SqlConnection(connstr))
{
using(SqlDataAdapter da = new SqlDataAdapter(strSQL,conn))
{
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
}
connstr 可能是null的
回复内容太短了!
最有可能出现da,ds为null
什么情况下会出现
那也会引发这样的错误的!
如果是这句出错,一般都是sql语句的事,另外看看连接字符串
{
using(SqlConnection conn = new SqlConnection(connstr))
{
using(SqlDataAdapter da = new SqlDataAdapter(strSQL,conn))
{
DataSet ds = new DataSet();
da.Fill(ds); ///这里DS为空!
return ds;
}
}
}
or自己调调?
ds虽然new了,但没东东啊!
现在也只能猜猜了