为什么我改 ("SELECT * from sale where date='2000-1-2'");这个语句查不出来啊?数据库里有这个'2000-1-2'啊
try {
sumJLabel.setText(darefrom);
myResultSet= myStatement.executeQuery
("SELECT * from sale ");
//("SELECT * from sale where date='2000-1-2'");
while (myResultSet.next()) {
sumJTextArea.append
(
myResultSet.getDate("date")+" "+myResultSet.getString("name")+" "+myResultSet.getString("sum")+" "+myResultSet.getString("hospital")+" "
+myResultSet.getString("xiaoji")+" "+myResultSet.getString("a")+" "+myResultSet.getString("b")+" "+myResultSet.getString("c")+"\n");
}
解决方案 »
- Netbeans里面的JFrame怎么设置紧张改变大小
- 如何用properties做一个设置参数的对话框
- 请问怎样获取一个canvas上某一点的颜色?
- 小问
- 高分下无勇夫呼?求MP3转MID程序例子!
- Illegal start of type 是什么东东??
- 怎么用Choice?
- 有人知道吗?关于轻组件的事情
- Exception in thread "main" java.lang.NoClassDefFoundError: FirstSwingApp(幫忙看看是什么問題,小弟在線等候)
- 请问label.setLabelFor(button);是什么意思?
- 难题啊,求救,类似多叉树
- java将数据库内容保存到数组
每个都不是唯一的,怎么设计主键呢,就是我要修改的时候怎么输入一个唯一的值,判断修改那个记录啊
关键字可以增加一个ID字段来做
String aa="2000-01-02";
("SELECT * from sale where day='"+aa+"'");这个语句在access里都通不过,access里SELECT sale.*
FROM sale
WHERE (((sale.day)=#01-02-2000#));这个是可以的,可是#01-02-2000#这个在java里有问题
改为:
("SELECT * from sale where [day]='"+aa+"'");
原来的想通过要将
("SELECT * from sale where date='2000-1-2'");
改为:
("SELECT * from sale where [date]='2000-1-2'");
这个没有报错,但是查询没有结果,好奇怪的问题
^_^.可以了呢
为什么要这样啊
SELECT * from sale where [day] > '"+datefrom+"' and [day] < '"+dateto+"'
一个是字符串,一个是datetime 自己去理解
String a="2000-1-3";(" SELECT * from sale where day >='%"+a+"%'");
为什么不行呢?
SELECT * from sale where [day] > '"+datefrom+"' and [day] < '"+dateto+"'
这个也说不行,说not a statement
我把我的问题列一下:1.
("SELECT * from sale where [day] > '"+datefrom+"' and [day] < '"+dateto+"'");
这个编译没问题,运行没结果???
这里我是这么设计的:(我的日和月123456789都是一位的数字,不是01,02...这样的)
String datefy=(String)datefromyJComboBox.getSelectedItem();
String datefm=(String)datefrommJComboBox.getSelectedItem();
String datefd=(String)datefromdJComboBox.getSelectedItem();
String datety=(String)datetoyJComboBox.getSelectedItem();
String datetm=(String)datetomJComboBox.getSelectedItem();
String datetd=(String)datetodJComboBox.getSelectedItem();
String datefrom=datefy+"-"+datefm+"-"+datefd;
String dateto=datety+"-"+datetm+"-"+datetd;数据库里的日期是2000-1-3这种格式的2.当我String a="2000-1-3";("SELECT * from sale where day like '%"+a+"%' ");这个是没问题的
但是如果我用了上面那个String datefrom=datefy+"-"+datefm+"-"+datefd;
("SELECT * from sale where day like '%"+datefrom+"%' ");这个就有问题了
3当我String a="2000-1-3";String b="2000-3-3";
(" SELECT * from sale where day >= '%"+a+"%' and day <='%"+b+"%'");这个编译没问题
运行没有查询结果
int fm=Integer.parseInt(datefm)-1;
int fd=Integer.parseInt(datefd);
int ty=Integer.parseInt(datety)-1900;
int tm=Integer.parseInt(datetm)-1;
int td=Integer.parseInt(datetd);
java.sql.Date dateform=new java.sql.Date(fy,fm,fd);
java.sql.Date dateto=new java.sql.Date(ty,tm,td);
("SELECT * from sale where [day] >'"+mydatefrom+"' and [day] <'"+mydateto+"'");
这样还不行我也无能为力啦!
("SELECT * from sale where [day]>"+mydatefrom+" and [day]<"+mydateto");
即去掉单引号
这个的却没问题了
不过还有个小小的问题(加了and就不行了又)("SELECT * from sale where day > "+datefrom+" and day < "+dateto+" ");
还有就是
Note: H:\java\my project\sale\最新saletextarea\saletextarea\sale.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.不知道哪个过时了
加不加单引号都不行吗?
我这么测试了一下,我觉得是我的JComboBox的选择有问题因为不论我日期怎么选
("SELECT * from sale where day > "+datefrom+" ");都能把所有的选择出来但是我专门打印了datefrom,的却是我选择的日期啊我的数据库是: day 日期/时间
day
2000-1-3
2000-1-3
2000-1-3
2000-1-3
2000-1-3
2000-1-25
2000-1-3
2000-1-3
2000-1-3大侠们能不能留个邮箱什么的我把代码发过去瞧瞧
("SELECT * from sale where day >convert(datetime,'"+datefrom+"') and day <convert(datetime,'"+dateto+"')");
这样是在数据库里转化的,再出问题就没办法啦!
也许因为我是菜鸟,所以没办法取到正确的值吧,呵呵!
我的目的,给你个灵感,让你不要死钻一角.至于真正解决问题,我能力有限,请谅解!
我为什么新加了个字段id,自动增加的,但是显示不出来
myResultSet.getDate("day")+"\t"+myResultSet.getString("name")+"\t"+myResultSet.getString("hospital")+"\t"+myResultSet.getString("sale")+"\t"
+myResultSet.getString("back")+"\t"+myResultSet.getString("profit")+"\n");