import java.sql.*;
class TestODBC
{
private static String sourceURL;
    public static void main(String args[])
    {
        try
        {  
           sourceURL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=e:\\aa.mdb";         
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");       
            
           Connection conn=DriverManager.getConnection(sourceURL);
              
           Statement sql=conn.createStatement();
           
           ResultSet rs=sql.executeQuery("select xx from qq");   //为什么有 rs.getString方法??           }catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-19 10:17:04的历史汇总数据(不包括此帖):
    发帖的总数量:251                      发帖的总分数:10543                    每贴平均分数:42                       
    回帖的总数量:215                      得分贴总数量:7                        回帖的得分率:3%                       
    结贴的总数量:248                      结贴的总分数:10443                    
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:3                        未结的总分数:100                      
    结贴的百分比:98.80 %               结分的百分比:99.05 %                  
    无满意结贴率:0.81  %               无满意结分率:0.48  %                  
    值得尊敬
      

  2.   

    因为sql.executeQuery("select xx from qq");返回的是ResultSet抽象接口的一个实现类public abstract interface java.sql.ResultSet
      

  3.   

    个人理解,Statement.executeQuery()返回的应该是一个实现了ResultSet接口的实现类,然后向上转型成ResultSet
    同理,Connection 以及Statement都是这么得到了,因为他们也都只是接口
      

  4.   


    这个回答正确。
    ResultSet好象是接口没有rs.getString方法的具体实现,而是具体实现的类给接口提供了具体的实现,这样你就可以取道你想要的string类型的数据库数据了(^ _ ^)
      

  5.   

    去Api文档看看ResultSet接口的说明,里面会指出哪些类实现了这个接口。
    或者在
    ResultSet rs=sql.executeQuery("select xx from qq");   //为什么有 rs.getString方法??   之后通过rs.getClass().getName()看一下这到底是哪个类的对象就清楚了。
      

  6.   

    sql.executeQuery("select xx from qq"); 返回的实际上是实现了 java.sql.ResultSet 接口的某个类的对象,而这个实现类正是你选用的 JDBC 驱动包(那个 jar 文件)提供的,你可以试试使用下面代码去查看它究竟返回的是哪个实现了 ResultSet 接口的类的实例:ResultSet rs = sql.executeQuery("select xx from qq");
    System.out.println(rs.getClass().getName());
      

  7.   


    额滴神呐!!
    还有抽象接口这说法??遇到这种情况,lz可以看看JDK的source,很容易就理解了