java修改 access数据没反应

来源:百度知道 编辑:UC知道 时间:2024/05/11 13:36:15
做一个课程设计的时候,涉及到修改access数据库,代码如下:

import java.sql.*;
public class Access{
public static void main(String args[]){
Connection con;
String str;

try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
con=DriverManager.getConnection("jdbc:odbc:text","","");
Statement sq=con.createStatement();
str="UPDATE CLOTHES+" +
"SET PRICE=PRICE+1" +
"WHERE NAMELIST='COAT1'";
sq.executeUpdate(str);

ResultSet rs=sq.executeQuery("SELECT * FROM CLOTHES");
while(rs.next()){
String a=rs.getString("NAMELIST"); //获得数据库
String b=rs.getString("PRICE");
String c=rs.getString("LOCATION");
String d=rs.getString("QUANTITY");
System.out.println("衣服:"+a);

细心点吧!sql语句有问题
str="UPDATE CLOTHES+" + (1)
"SET PRICE=PRICE+1" +
"WHERE NAMELIST='COAT1'";
(1)处多加了个"+"号,你把+号去点就行了;你把捕获的错误打印出来不是一下就看见了!

sq.executeQuery(sql)的返回值虽然是ResultSet类型,但是如果里面的sql是修改语句的话,rs.next()肯定是false,所以就不会进入到while循环里的,你可以在ResultSet rs=sq.executeQuery(sql); 后输出调试信息看看
System.out.println(rs.next())

使用事务看看行不行。