首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DataTable.Compute 方法中的Bug解决方案

2012-01-14 
DataTable.Compute 方法中的Bug運行環境:w2k(繁體)+NETFramework1.1ServicePack1(KB867460-X86)-tw+vs.net

DataTable.Compute 方法中的Bug
運行環境:w2k(繁體)+NET   Framework   1.1   Service   Pack   1(KB867460-X86)-tw+vs.net2003(繁體)+CrystalReport10

this.lbl96Lessen.Text=this.myDataSet.Tables[this.myDataMember].Compute( "count(empl_NewMon) ", "empl_NewMon=96 ").ToString();
this.lblOldMon.Text=Convert.ToInt64(this.myDataSet.Tables[this.myDataMember].Compute( "sum(empl_OldMon) ", " ")).ToString();
當this.myDataSet.Tables[this.myDataMember].Rows.Count> 0的情況下,以上代碼沒有問題;
當this.myDataSet.Tables[this.myDataMember].Rows.Count> 0的情況下,以上的第二行(Sum函數)代碼出現錯誤 "物件不可以從DBNull轉換成其它型別 ",在沒有行的情況下,還sum什么,而count又沒有問題,這是程序本身的Bug嗎?

[解决办法]
你的sum() 是函数吗?? 怎么看上去想是个字符串
"sum(empl_OldMon) "
[解决办法]
this.myDataSet.Tables[this.myDataMember].Rows.Count=0时
注意这时count就是=0
这时要不报错就直接写sum(empl_OldMon)=0,ok!
[解决办法]
因该只是数据类型的控制,个人认为。。。

热点排行