CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

紧急!DataTable.Compute()中expression参数不能使用convert函数对String转换再聚合计算??

楼主magicsnake(北极狐)2006-03-14 12:49:23 在 .NET技术 / C# 提问

DataTable   dtt   =   new   DataTable();  
  dtt.Columns.Add("field1",typeof(String));  
  dtt.Columns.Add("field2",typeof(int));  
  DataRow   dr=   dtt.NewRow();  
  dr["field1"]   =   "10";  
  dr["field2"]   =   20;  
  dtt.Rows.Add(dr);  
  dtt.Compute("Sum(convert(field1,'System.Int32'))","").ToString();   //执行到这里报错  
   
  错误提示为:  
  聚合参数中的语法错误:   需要具有可能的“Child”限定符的单个列参数。  
   
  但是没有转换的语句就可以通过  
  dtt.Compute("Sum(field2)","").ToString();    
   
  这是为什么?怎么解决,请高手赐招,谢谢 问题点数:50、回复次数:6Top

1 楼magicsnake(北极狐)回复于 2006-03-14 14:31:29 得分 0

大家帮帮忙啊,谢谢了Top

2 楼lidong6(立冬)回复于 2006-03-14 15:50:40 得分 22

你为什么不直接把这一列设置为Int32?  
   
  没有试过在先Convert再SUM,你可以再增加一列只是Convert,然后再SUM这一列.Top

3 楼MyLf(不睡觉的鱼)回复于 2006-03-14 16:56:53 得分 22

其表达式应该只能是基本的Sql表达式,System.Int32是.Net的数据类型,又不是数据库的数据类型。  
  不错才怪。。。Top

4 楼boyxia(>>雪饮狂刀 [抵制日货]<<)回复于 2006-03-14 17:08:18 得分 6

用sqlserver的转换语法Top

5 楼magicsnake(北极狐)回复于 2006-03-14 17:37:53 得分 0

唉,那么就是不支持转换后再计算的方式了......  
   
  我觉得不是关于System.Int32这种数据类型到底是属于数据库或者.net的问题,因为不使用聚合函数,单独使用Convert可以在DataTable.Columns.Add()的expression中使用.而且DataTable里的内容已经是存在客户端的内存中独立于数据库了,对于这样的类型完全能够解析出来吧,就像在表达式中单独使用convert一样,我觉得只是这个Compute函数的解析功能还不够强大,没有扩展到吧.  
   
  没有设置为Int32是考虑到一些通用性的问题,毕竟String处理起来比较方便,可以随时转换,既然现在转换不了,只能重新考虑这方面的设计了.  
   
  谢谢两位.晚上结帖Top

6 楼magicsnake(北极狐)回复于 2006-03-14 17:43:56 得分 0

to   boyxia(>>雪饮狂刀   [抵制日货]<<)    
  表达式里面只支持convert(ColumnName,type)的转换方式,与数据库类型无关,我已经尝试过了,谢谢支持Top

相关问题

  • 聚合函数的使用
  • 关于聚合函数,急
  • string函数
  • 关于聚合函数Max!谢谢!
  • 高手请进:关于聚合函数
  • {  关于聚合函数的思考 }
  • 请教聚合函数的问题.
  • 关于聚合函数中的MIN函数的问题请教!
  • 关于oracle聚合函数与汇总函数的问题
  • 对于聚合函数如何进行数学计算

关键词

  • .net
  • 函数
  • 聚合
  • 转换
  • 数据库
  • 数据
  • dtt
  • 参数
  • 表达式
  • datatable

得分解答快速导航

  • 帖主:magicsnake
  • lidong6
  • MyLf
  • boyxia

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo