实在觉得奇怪的问题,不知道什么原因了,急问啊

aruoyx 2007-07-11 07:40:30
我用JAVA 在做一个日期区间查询时出现问题,说是转换为datetime 时出现问题,然后异常抛个不停
下面是语句:
String d1=year1+'-'+month1+'-'+day1;//得到组合框的内容
String d2=year2+'-'+month2+'-'+day2;
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
java.util.Date date1=df.parse(d1);
java.util.Date date2=df.parse(d2);
查询语句如下:
select * from P where DATE between 'date1' and 'date2'
...全文
329 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
歪嘴鱼 2007-07-15
  • 打赏
  • 举报
回复
how ? mark
myydzhz 2007-07-12
  • 打赏
  • 举报
回复
晕,直接拼成sql语句执行,不行吗?

String sql="select * from P where DATE between"+"'2007-08-01'"+"and+"'2007-08-20'";
executeQuery(sql);
歪嘴鱼 2007-07-12
  • 打赏
  • 举报
回复
public static Date getDate(String str) {
Date date = null;
// 2006-12-19 09:00:28
final SimpleDateFormat df2 = new SimpleDateFormat(
"yyyy-MM-dd' 'HH:mm:ss");
// Fri,05 Jan 2007 06:00:34 GMT
final SimpleDateFormat df1 = new SimpleDateFormat(
"EEE,dd MMM yyyy HH:mm:ss z", Locale.US);
// 2006-12-27
final SimpleDateFormat df3 = new SimpleDateFormat("yyyy-MM-dd");
if (date == null) {
try {
date = new Date(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df1.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df2.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
try {
date = df3.parse(str);
} catch (Exception e) {
}
}
if (date == null) {
// System.err.println("bad date:" + str);
date = new Date();
date.setHours(0);
}
return date;
}
grass_12 2007-07-12
  • 打赏
  • 举报
回复
用java.sql.Date
aruoyx 2007-07-12
  • 打赏
  • 举报
回复
问题已经解决
aruoyx 2007-07-11
  • 打赏
  • 举报
回复
不是你上面所说的问题
基本方法我都试过了
TRY CATCH 也用过了
还是提示哪个错误
aruoyx 2007-07-11
  • 打赏
  • 举报
回复
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]从字符串转换为 datetime 时发生语法错误。
总是提示这个错误
myydzhz 2007-07-11
  • 打赏
  • 举报
回复
或者
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
改为
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); mm大写
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10

aruoyx 2007-07-11
  • 打赏
  • 举报
回复
我要做的是字符串转日期,java.sql.Date在程序里不能用 ,它的parse方法不可用
myydzhz 2007-07-11
  • 打赏
  • 举报
回复
用这个吧
DateFormat df = DateFormat.getDateInstance();
java.util.Date date1=new Date();
try
{
date1=df.parse("2007-08-22 13:20:50");
}catch(Exception e)
{
System.out.println(e);
}
System.out.println(date1.toLocaleString());
joejoe1991 2007-07-11
  • 打赏
  • 举报
回复
一直没用过java.sql.Date
aruoyx 2007-07-11
  • 打赏
  • 举报
回复
d1和d2 打印出来是正确的
zhuokai 2007-07-11
  • 打赏
  • 举报
回复
把d1和d2打印出来看看,可能是java.sql.date和java.util.date不同的问题

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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