asp.net项目出现 实例失败

zxg680 2009-10-18 07:44:26
错误:
实例失败
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 实例失败。

源错误:


行 164: {
行 165: Console.WriteLine(e.Message);
行 166: throw e;
行 167: }
行 168:


源文件: F:\Program Files\easyMule\Incoming\asp.net与extjs开发点卡在线销售系统\Y2毕业设计\项目源码\GameCardShop\GameCardShopDAL\Auto\CardTypeService.cs 行: 166
堆栈跟踪:

[InvalidOperationException: 实例失败。]
GameCardShop.DAL.CardTypeService.GetCardTypesBySql(String safeSql) in F:\Program Files\easyMule\Incoming\asp.net与extjs开发点卡在线销售系统\Y2毕业设计\项目源码\GameCardShop\GameCardShopDAL\Auto\CardTypeService.cs:166
GameCardShop.DAL.CardTypeService.GetAllCardTypes() in F:\Program Files\easyMule\Incoming\asp.net与extjs开发点卡在线销售系统\Y2毕业设计\项目源码\GameCardShop\GameCardShopDAL\Auto\CardTypeService.cs:102
GameCardShop.BLL.CardTypeManager.GetAllCardTypes() in F:\Program Files\easyMule\Incoming\asp.net与extjs开发点卡在线销售系统\Y2毕业设计\项目源码\GameCardShop\GameCardShopBLL\Auto\CardTypeManager.cs:37

[TargetInvocationException: 调用的目标发生了异常。]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +72
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +308
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +480
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1960
System.Web.UI.WebControls.BaseDataList.GetData() +57
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +284
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +56
System.Web.UI.WebControls.BaseDataList.DataBind() +52
System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +76
System.Web.UI.WebControls.BaseDataList.CreateChildControls() +63
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +50
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Control.PreRenderRecursiveInternal() +170
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2041


源代码是
        private static IList<CardType> GetCardTypesBySql( string safeSql )
{
List<CardType> list = new List<CardType>();

try
{
147行------ DataTable table = DBHelper.GetDataSet( safeSql );

foreach (DataRow row in table.Rows)
{
CardType cardType = new CardType();

cardType.CardTypeId = (int)row["CardTypeId"];
cardType.CardTypeName = (string)row["CardTypeName"];
cardType.CardPrice = (int)row["CardPrice"];
cardType.CardImage = (string)row["CardImage"];

list.Add(cardType);
}

return list;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
166行--- throw e; }

}

我设置断点,发现只执行到147行,输出:
名称 值 类型
safesql "select * from CardType" String
table null System.Data.DataTable
list count=0

大家分析分析,给个意见,谢谢
...全文
173 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxg680 2009-10-18
  • 打赏
  • 举报
回复
谢谢 ♂风车车.Net ,a Rookie.,人生如梦的关注,问题已经解决了,原因是数据库连接方法DBHelper.GetDataSet()出问题了。导致数据库连不上查询不出数据。还是谢谢你们
zxg680 2009-10-18
  • 打赏
  • 举报
回复
谢谢以上各位帮忙,xray2005,wuyq11二位的代码我试了试不成功,主要是执行到147行
DataTable table = DBHelper.GetDataSet( safeSql ); 后,table是null,直接就异常了,foreach就没执行。 我想肯定是147行的错了,我再看看前面的。select * from CardType查询有数据4列30多行呢
wuyq11 2009-10-18
  • 打赏
  • 举报
回复
在查询分析器执行select * from CardType看看
wuyq11 2009-10-18
  • 打赏
  • 举报
回复
DataTable table = DBHelper.GetDataSet( safeSql );
foreach (DataRow row in table.Rows)
{
CardType cardType = new CardType();
cardType.CardTypeId = row["CardTypeId"]==DBNull.Value?0:(int)row["CardTypeId"];
cardType.CardTypeName =row["CardTypeName"]==DBNull.Value?"": (string)row["CardTypeName"];
cardType.CardPrice =row["CardPrice"]==DBNull.Value?0:(int)row["CardPrice"];
cardType.CardImage =row["CardImage"]== DBNull.Value?"":(string)row["CardImage"];
list.Add(cardType);
}
return list;
xierfly 2009-10-18
  • 打赏
  • 举报
回复
我设置断点,发现只执行到147行,输出:
名称 值 类型
safesql "select * from CardType" String
table null System.Data.DataTable
list count=0

=====
没有获取到值。在没有值的情况下 ,你foreach (DataRow row in table.Rows)可能出问题,先判断一下table的rowsv.count ,然后foreach
xray2005 2009-10-18
  • 打赏
  • 举报
回复
试试
xray2005 2009-10-18
  • 打赏
  • 举报
回复

foreach (DataRow row in table.Rows)
{
CardType cardType = new CardType();

cardType.CardTypeId =row["CardTypeId"]==null?-1: (int)row["CardTypeId"];
cardType.CardTypeName =row["CardTypeName"]==null?string.Empty: (string)row["CardTypeName"];
cardType.CardPrice =row["CardPrice"]==null?-1: (int)row["CardPrice"];
cardType.CardImage =row["CardImage"]==null?string.Empty: (string)row["CardImage"];

list.Add(cardType);
}

ASP.NET留言板 Version 1.0 软件信息: 软件名称:光辉岁月留言板 版 本 号:Version 1.0 授权类型:免费软件 运行环境:ASP.NET 版权所有:光辉岁月 Q Q:258653163 开发日期:2007.1 软件描述: 1、使用ASP.NET(C#)开发; 2、全部代码都由手写完成,清晰易懂、易维护; 3、采用三层体系结构,通过接口继承来支持多数据库模式; 4、动态支持Access,MSSQL(存储过程); 5、支持HTML编辑器,集成QQ,MSN,TAOBAO等表情; 版权声明: 1. 本软件由本人独立开发完成的留言平台,拥有留言簿的所有版权。 2. 本软件为免费软件,授权用户免费使用,无须通告作者本人。 3. 允许任何人可以在本软件的基础上独立开发新的模块,并可自由商业或免费,并不受限制。 4. 本软件使用了部分网络上的资源(包括图像,皮肤等)。如果您有任何意见或想法可以与我取得联系 。我将会根据您的意愿进行修改。 免责声明: 1.本软件是免费软件,作者只负责软件本身的制作与维护,不负责任何与软件本身无关的问题。 2.用户自愿使用本软件,并无须支付任何费用,由使用软件对用户所造成的任何损失均与作者无关。 3.用户在使用本软件时所引起的任何纠纷均与作者无关。 4.浏览者发表的任何言论,纯属浏览者个人意见,概与作者无关。 5.用户使用本软件,即表示无条件接受以上条款。 6.作者保留以上条款的最终解释权。 安装使用: Access环境 前提必须支持asp.net 注意:你电脑的系统必须装了Internet 服务管理器和Microsoft.NET Framework 1.1或2.0 双击Setup.exe应用文件,然后进行安装。然后进入C:\\Inetpub\\wwwroot\\BBS里面的#chat.mdb数据拿出来 到C:\\ 数据库的路径可以在Web.config里面的以下改: 最后就可以在IE里面的地址栏上输入http://localhost/bbs运行出来了。 ****************************************************************************************** 注意:请不要直接进入数据库更改密码,因为数据库已经通过MD5的数据加过密,要更改密码,请用默认 的系统管理员帐号和密码登录,进去可以更改,要是你直接进数据库自己改的会,可能会出现不能登录的 问题。 ****************************************************************************************** 默认系统管理员帐号:admin 默认系统管理员密码:admin 常见问题: 如果出现未设置对象实例,无法添加记录,DBNULL转换失败等错误,可能是数据库遭到破坏,如果是NTFS分区 ,最好将数据库文件的EVERYONE用户的所有权限设置为允许 与我联系: QQ:258653163 官方主页: http://www.ghsy123.com 电子邮件: pyh123@126.com 2007.2

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧