如题。。。。写了一个下午就是因为表名是变量无法实现。。。。
stmt = conn.createStatement();
String sql="select * from "+table1+"where station='"+station1+"'";
ResultSet rs = stmt.executeQuery(sql);
这样不能连接
但是
String sql="select * from "+table1;
String sql="select * from sql201307 where station='"+station1+"'";
这两条就可以。。。真是不明白
where前面是不是少了一个空格,你可以把sql打印出来看看是否为你期望的sql语句,对比一下就比较清楚
String sql="select * from "+table1+" where station='"+station1+"'";
String sql="select * from "+table1+"where station='"+station1+"'";
改String sql="select * from "+table1+" where station='"+station1+"'";
StringBuffer sb=new StringBuffer("select * from ");
sb.append(table1);
sb.append("where station=");
sb.append(station1);
String sql=sb.toString();
应该是少了一个空格,把表名和where拼成一个字符串了。 debug看一下,或者输出一个sql语句。
where 前面没有空格,调整一下再提交,如果确实是String问题,再调整使用StringBuffer,拼好后toString