oracle里Account表wastetime(消费日期)字段设为Date型,在.net中根据此条件写sql总出错,下面是两种写法:
1.string sqlStr = "SELECT * FROM ACCOUNT WHERE WASTEDATE >="+"'"+timeBegin+"' "+"AND WASTEDATE<"+"'"+timeEnd+"'";(文字与格式不匹配)
string sqlStr = "SELECT * FROM ACCOUNT WHERE WASTEDATE >="+timeBegin+" AND WASTEDATE<"+timeEnd;(sql语句未正确结束)
timebegin和timeend是datetime型,好像.net中没有date型
请帮我分析一下,谢谢
1.string sqlStr = "SELECT * FROM ACCOUNT WHERE WASTEDATE >="+"'"+timeBegin+"' "+"AND WASTEDATE<"+"'"+timeEnd+"'";(文字与格式不匹配)
string sqlStr = "SELECT * FROM ACCOUNT WHERE WASTEDATE >="+timeBegin+" AND WASTEDATE<"+timeEnd;(sql语句未正确结束)
timebegin和timeend是datetime型,好像.net中没有date型
请帮我分析一下,谢谢
解决方案 »
- 在sql server 2008中的varbinary(max)字段中添加多张图片(如3张png格式的),c#怎么做?
- 全局应用程序可以用Session[取值吗
- ADO.net中数据更新问题
- 消息队列 异常的处理
- 关于TextBox绑定数据的问题!DataBindings!!!高手请进!
- 如何知道WEB SERVICE服务器已可以连接?
- 用事务向主从表中插入记录
- 【提问】WPF并行操作
- 为何我的C#中没有 Control.Find 方法????
- AquaSample按钮,不响应原来的鼠标事件
- 为什么我运行窗口(非控制台)程序,后面总是有个控制台显示出来
- 急啊急啊!!关于返回处理后的DataSet的问题。在线等待... ...
比如: convert(char(20),timeBegin,120) 它的格式为: 2001-10-21 12:24:12
后面的参数120 可根据你oracle里Account表wastetime(消费日期)字段Date型的形式调整为
其它参数 你可查SQL帮助看参数所表达的格式
string sqlStr= "SELECT * FROM ACCOUNT WHERE WASTEDATE between to_date('" + timeBegin + "','YYYY-MM-DD HH24:MI:SS') and to_date('" + timeEnd + "','YYYY-MM-DD HH24:MI:SS')";
string sqlStr = "SELECT * FROM ACCOUNT where WASTEDATE between @timeBegin and @timeEnd";
二楼 to_date()是对Oracle的,但是楼主说了wastetime(消费日期)字段设为Date型,所以,Oracel的日期字段是不能再用to_date()函数的
改为to_char就可以了无论是哪一种,如果转换为字符,则一定要把格式搞成一样
www.webmis.com.cn
string sqlStr = "SELECT * FROM ACCOUNT WHERE WASTEDATE >= convert(datetime,"+timeBegin+") AND WASTEDATE< convert(datetime,"+timeEnd+")";(sql语句未正确结束)