DataTable 查询问题搞得我郁闷一天了

sunyuzhe 2007-09-10 11:14:03
我有一个从一个服务器的webservice读取一个DataSet表(数据库是access的),表中的字段叫 [收益],是string 类型的,现在想写一个sql语句,选择出[收益]大于10.65的。
strFilter = " Cast ([利润] as double)> 10.65" ;
DataRow[] rows = ds.Tables[0].Select(strFilter, "日期 desc");

结果提示语法错误:“Cast”运算符后缺少操作数

因为[利润]是存成string 类型的所以必须要转一下型才可以,不知如何搞定了,请大家指教!
也常识了大家的帮助,也是没有效果,郁闷ing......
http://community.csdn.net/Expert/topic/5751/5751452.xml?temp=.9094507
...全文
313 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
FengLing7885 2007-09-11
  • 打赏
  • 举报
回复
parse.int()
Jinglecat 2007-09-11
  • 打赏
  • 举报
回复
try ->

string strFilter = " Convert(利润, 'System.Double')> 10.65" ;
// as to money, maybe
//string strFilter = " Convert(利润, 'System.Decimal')> 10.65m" ;
songjinxi123 2007-09-11
  • 打赏
  • 举报
回复
你可以设置DataColumn 类的DataType 属性将你需要的列的类型转换一下。
比如:
DataTable dt = new DataTable();
dt.Columns.Add("test"); //默认为String类型
Console.WriteLine( dt.Columns["test"].DataType.ToString());
dt.Columns["test"].DataType = System.Type.GetType("System.Single"); //转成float类型
Console.WriteLine(dt.Columns["test"].DataType.ToString());
输出为:
System.String
System.Single

具体到你的情况,只需要:
ds.Tables[0].Columns["收益"].DataType = System.Type.GetType("System.Single");
之后就可以直接用strFilter = " [收益] > 10.65" ;了

PS:到底是收益还是利润?
txwd0033 2007-09-11
  • 打赏
  • 举报
回复
实在不行就增加一个辅助列吧,类型是数字型的,但是值等于你那个文本转化过来的值 ,查询时使用那个查询应该也可以的
heqi915 2007-09-11
  • 打赏
  • 举报
回复
mark,友情UP一下
ivyorg 2007-09-11
  • 打赏
  • 举报
回复
up~~
photoplan 2007-09-11
  • 打赏
  • 举报
回复
datatable 使用的语法与 sql 或 access 不完全相同,楼主这个这样转换:


strFilter = "Convert([利润], 'System.Decimal') > 10.65"
QuinsonYue 2007-09-11
  • 打赏
  • 举报
回复
楼上是正确的
bigeyescat 2007-09-11
  • 打赏
  • 举报
回复
CAST([利润] as float)>10.65
或CONVERT(float,[利润])>10.65
budong0000 2007-09-10
  • 打赏
  • 举报
回复
SQL 里CAST用法为:cast ([利润] as float
sunyuzhe 2007-09-10
  • 打赏
  • 举报
回复
[利润]是string 的不能用直接比较,必须转一下
daishengs 2007-09-10
  • 打赏
  • 举报
回复
strFilter = " [利润] > 10.65" ;
这样不行吗?

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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