import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:qqhou");
Statement stmt=con.createStatement();
String aa="select * from Person";
System.out.println(aa);
ResultSet rs=stmt.executeQuery(aa);
//ResultSet rs=stmt.executeQuery("Select * From Person");
int i=0;
while(rs.next ()) i=i+1;
System.out.println(i);
stmt.close ();
con.close ();
}
catch(Exception ex){
ex.printStackTrace();
}
}
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:qqhou");
Statement stmt=con.createStatement();
String aa="select * from Person";
System.out.println(aa);
ResultSet rs=stmt.executeQuery(aa);
//ResultSet rs=stmt.executeQuery("Select * From Person");
int i=0;
while(rs.next ()) i=i+1;
System.out.println(i);
stmt.close ();
con.close ();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
按上面的代码 连接时候就会报错,至于原因可能是java接口与ODBC之间的问题,导致executeQuery方法识别不了你传来的aa是什么。
个人解决方法:直接把sql语句给executeQuery方法。如上:把注释去掉。(By the way ,我记得以前那样不不会报错的,或者我之前用的电脑是32位的还是XP?)