zoukankan      html  css  js  c++  java
  • 数据库查询

    DatabaseMetaData metadata1=con.getMetaData();
    ResultSet rs1=metadata1.getColumns(null, null,"goods", null);

    连接对象con调用getMetaData()方法,获得一个DatabaseMetaData对象,

    对象调用getColumns,可以把字段信息保存在一个ResultSet对象中,参数分别是”数据库名“,”数据库扩展名“,"表名”,“字段名”


    控制游标查询

    有时候不是靠next()的顺序查询就能解决问题

    在sql对象获得链接对象con是加两个参数

    Statement stme=con.createStatement(int type,int concurrency)

    type的取值决定了滚动方式

    ResultSet.TYPE_FORWORD_ONLY//只能向下移动

    ResultSet.TYPE_SCROLL_INSENSITIVE//可以上下移动,当数据库变化是当前结果集不变

    RseultSet.TYPE_SCROOL_SENSITIVE//可以上下移动,数据库变化是当前结果集同步变化

    Concurrency决定了是否可以用结果更新数据库

    ResultSet.CONCUR_READ_ONLY//不能用结果更新数据库的表

    ResultSet.CONCUR_UPDATABLE//不能~~~~

    还有ResultSet的滚动方法

    public void previous()//相对的next,上面移动
    public void beforeFirst()//游标移动到第一行前面
    public void afterLast()//游标移动到最后一行后面
    public void first()//游标移动到第一行
    public void last()//游标移动到最后一行
    public boolean isAfterLast()//判断是否最后一行后面
    public boolean isBeforeFirst()//判断是否第一行之前
    public boolean ifFirst()//是否第一行
    public boolean isLast()//是否最后一行
    public int getRow()//返回行号
    public boolean absolute(int row);//把游标移动到row指定的行

     测试代码(倒叙输出

                Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Kooing","sa","kenn5666225");
                System.out.println("数据库连接成功");
                DatabaseMetaData metadata1=con.getMetaData();
                ResultSet rs1=metadata1.getColumns(null, null,"goods", null);
                int raws=0;
                for(;rs1.next();){
                    raws++;
                }
                Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
                ResultSet rs2=sql.executeQuery("select * from goods");
                rs2.last();
                for(;!(rs2.isBeforeFirst());rs2.previous()){
                    for(int i=1;i<=raws;i++){
                        System.out.print(" "+rs2.getString(i)+" ");
                    }
                    System.out.println("");
                }
  • 相关阅读:
    写MBA毕业论文有感-重口味,不喜莫入
    Android中级第三讲如何复用AlertDialog
    Android初级开发第二讲项目学习
    那些消失的计算机技术(一)
    Android中级第一讲如何学习Android自带的demo项目
    Java基础之continue与break区别
    刨根问底系列之C++ const 挖掘
    Unity3d http 通信
    Windows Phone 7 不温不火学习之《启动器与选择器》
    Windows Phone7 不温不火学习之《应用程序生命周期》
  • 原文地址:https://www.cnblogs.com/vhyc/p/6044874.html
Copyright © 2011-2022 走看看