日期:2014-05-20  浏览次数:20621 次

jdbc连接数据库简单问题
Java code


    rs = sm.executeQuery("select * from student");
            //因为rs指向结果集的第一行的上一行,即头部
            //循环取出
            rs.next();
           
         /*   int a = rs.getInt(3);
            System.out.println(a);   //这样会出错误,先输出第三列的数据,就不能输出就二列了
            String s=rs.getString(2);
            System.out.println(s);
           */ 
         /*   String s=rs.getString(2);
            System.out.println(s);
            int a = rs.getInt(3);   //这样就可以,,只是输出哪一列的顺序不同,就会出错,怎么回事??
            System.out.println(a);
            */
        /*  int a=rs.getInt("age");  直接用字段名 也是一样啊,,
            System.out.println(a);   
            String s=rs.getString("stuName");
            System.out.println(s); */ //错误[Microsoft][ODBC SQL Server Driver]无效的描述符索引
         
            
            String s=rs.getString("stuName");
            System.out.println(s);
            int a=rs.getInt("age");
            System.out.println(a);



------解决方案--------------------
个人觉得 不必纠结这种细节问题 尤其是新手 没必要
------解决方案--------------------
刚刚用mysql试了下没有楼主说的问题,至于SQL Server没有测,但我觉得返回一个ResultSet结果集读取列顺序不通应该不会有问题吧。
------解决方案--------------------
有点麻烦~
------解决方案--------------------
注意习惯,不要用*,尽量写出每一列,这样提供性能也不会出什么错误!
------解决方案--------------------
lz意思是说先写出第三列,就不能查到第二列了么?
我也是刚用mysql没有你说的问题,等待用mssqlserver的吧,
都是只报“错误[Microsoft][ODBC SQL Server Driver]无效的描述符索引”这个错?
另外lz可以单步一下,看看有没有什么收获
------解决方案--------------------
对于新手不必要追究这样的问题
------解决方案--------------------
rs.getString(1)这种方式只能从头独到尾。你可以用直接读取字段的方式re.get类型名(“字段名”);这个可以不按照循序读取。