我用datagridview 绑定Oracle 的 2个 表,两个表都显示,字段就很多
并且很多字段的小数都需要重新格式化,我的查询语句用
string sql = "select round(表1.字段1,2),round(表1.字段2,2),round(表1.字段3,2),round(表2.字段1,2),round(表2.字段2,3),round(表2.字段3,2),……"
from 表1,表2 where TO_CHAR(表1.DATE,'YYYY-MM-DD HH24') = "
+ "TO_CHAR(表2.DATE,'YYYY-MM-DD HH24') and (表1.DATE <= TO_DATE('"
+ sDtB + "','YYYY-MM-DD HH24:MI:SS') and 表1.DATE> =TO_DATE('"
+ sDtA + "','YYYY-MM-DD HH24:MI:SS')) order by 表1.DATE asc";sDtA 和 sDtB 是我查询时传进去的两个时间的参数,是查询某一段时间的数据。也许是都用round函数的缘故吧,感觉查询的时候会慢一些,不过这倒没什么,但是我发现我点击 datagridview 的某一列标题的时候,出现错误提示 “ROUND(表1.字段1)不是有效的排序字符串项”(错误提示中的字段1,如果点击字段2,就是提示字段2错误)
并且错误是出现在
项目的 Program.cs 的 Application.Run(new FrmMain()); 下,
这个我很奇怪,怎么会指向这呢,出错我就有点奇怪了,居然跳转到这了。
并且很多字段的小数都需要重新格式化,我的查询语句用
string sql = "select round(表1.字段1,2),round(表1.字段2,2),round(表1.字段3,2),round(表2.字段1,2),round(表2.字段2,3),round(表2.字段3,2),……"
from 表1,表2 where TO_CHAR(表1.DATE,'YYYY-MM-DD HH24') = "
+ "TO_CHAR(表2.DATE,'YYYY-MM-DD HH24') and (表1.DATE <= TO_DATE('"
+ sDtB + "','YYYY-MM-DD HH24:MI:SS') and 表1.DATE> =TO_DATE('"
+ sDtA + "','YYYY-MM-DD HH24:MI:SS')) order by 表1.DATE asc";sDtA 和 sDtB 是我查询时传进去的两个时间的参数,是查询某一段时间的数据。也许是都用round函数的缘故吧,感觉查询的时候会慢一些,不过这倒没什么,但是我发现我点击 datagridview 的某一列标题的时候,出现错误提示 “ROUND(表1.字段1)不是有效的排序字符串项”(错误提示中的字段1,如果点击字段2,就是提示字段2错误)
并且错误是出现在
项目的 Program.cs 的 Application.Run(new FrmMain()); 下,
这个我很奇怪,怎么会指向这呢,出错我就有点奇怪了,居然跳转到这了。
解决方案 »
- DataGridView中横向滚动条出现在某列的下方(不顶格显示)
- 谁有多线程操作DataTable的library?如果有新开贴结100分
- 查错, 在线等待....
- 新手问题:如何在aspx页面显示数据
- Socket接收数据经常出错!
- 要改变等号运算符的行为,就是c++里的等号运算符重载,C#里怎么实现
- 請問?是不是所有在。net下編出來的軟件都要在.net框架下使用。如果要在任何沒有安裝.net的系統下使用。該如何設置。
- 求C#编写的驾校信息系统的源码
- 如何使用cookie?
- 菜鸟问题:有关vs7.0与vs6.0的Session传递问题.(来者有分)
- 急,在线等。。。。
- 还是log4net 怎么没人回帖啊
返回数字表达式并四舍五入为指定的长度或精度。语法
ROUND ( numeric_expression , length [ , function ] ) 参数
numeric_expression精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。length是 numeric_expression 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_expression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression 则按 length 所指定的在小数点的左边四舍五入。function是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expression 将四舍五入。当指定 0 以外的值时,将截断 numeric_expression。返回类型
返回与 numeric_expression 相同的类型。ROUND()的用法
但是我不明白就算出错为什么会跳转到 那个位置
from 表1,表2 where TO_CHAR(表1.DATE,'YYYY-MM-DD HH24') = "
+ "TO_CHAR(表2.DATE,'YYYY-MM-DD HH24') and (表1.DATE <= TO_DATE('"
+ sDtB + "','YYYY-MM-DD HH24:MI:SS') and 表1.DATE> =TO_DATE('"
+ sDtA + "','YYYY-MM-DD HH24:MI:SS')) order by 表1.DATE asc"; 排序那里也得用参数吧,
这样应该可以了
这个具体怎么弄,可以给点代码吗?或者谁的博客例子什么的
回#6楼的朋友:表1.DATE ,这个是指 表1的时间字段,不能用 round()函数的