通过JDBC访问SQLHUB

本文介绍了SQLHub提供的两种JDBC驱动程序的使用方法,包括本地驱动和网络驱动的配置及示例代码,展示了如何执行SQL语句进行数据操作。

  简介

SQLHUB提供了两种JDBC驱动程序:
本地驱动
DRIVER:com.hg.jdbc.HgLocDriver:
URL:dbc:hg:loc: {数据库名},例如:jdbc:hg:loc:hg
网络驱动
DRIVER: com.hg.jdbc.HgDriver
URL:jdbc:hg:net:@{服务器}:{端口}:{数据库名},例如:jdbc:hg:net:@localhost:1980:hg
驱动Java程序包:hg.jar(可以在系统lib目录下找到)
例子

        try {
            //注册本地驱动
            Class.forName("com.hg.jdbc.HgLocDriver");
            //获取本地连接
            Connection conn = DriverManager.getConnection("jdbc:hg:loc:hg", "hg", "hg");
            /*
            //注册网络驱动
            Class.forName("com.hg.jdbc.HgDriver");
            //获取网络连接
Connection conn = DriverManager.getConnection(
"jdbc:hg:net:@localhost:1980:hg",
"hg", "hg");
            */
            Statement stmt = conn.createStatement();
            String sql;
            //执行修改,如:INSERT、UPDATE、DELETE等
            sql = "insert into 部门 (编号, 名称) values (50, '测试')";
            System.out.println("SQL:" + sql);
            int n = stmt.executeUpdate(sql);
            System.out.println("影响了" + n + "条记录");
            //执行查询
            sql = "select * from 部门";
            System.out.println("SQL:" + sql);
            ResultSet rst = stmt.executeQuery(sql);
            //输出查询结果字段
            ResultSetMetaData rsmd = rst.getMetaData();
            n = rsmd.getColumnCount();
            for (int i = 1; i <= n; i++) {
                if (i > 1) {
                    System.out.print(",");
                }
                System.out.print(rsmd.getColumnName(i));
            }
            System.out.println("/n---------------------------");
            //输出查询结果记录
            while (rst.next()) {
                for (int i = 1; i <= n; i++) {
                    if (i > 1) {
                        System.out.print(",");
                    }
                    System.out.print(rst.getString(i));
                }
                System.out.print("/n");
            }
            rst.close();
            //执行SQL
            sql = "delete from 部门 where 编号='50'";
            //sql = "select * from 部门";
            stmt.execute(sql);
            System.out.println("SQL:" + sql);
            if (stmt.getResultSet() != null) {
                //结果为记录集合
                rst = stmt.getResultSet();
                //输出查询结果字段
                rsmd = rst.getMetaData();
                n = rsmd.getColumnCount();
                for (int i = 1; i <= n; i++) {
                    if (i > 1) {
                        System.out.print(",");
                    }
                    System.out.print(rsmd.getColumnName(i));
                }
                System.out.println("/n---------------------------");
                //输出查询结果记录
                while (rst.next()) {
                    for (int i = 1; i <= n; i++) {
                        if (i > 1) {
                            System.out.print(",");
                        }
                        System.out.print(rst.getString(i));
                    }
                    System.out.print("/n");
                }
                rst.close();
            } else {
                //输出影响记录数量
                n = stmt.getUpdateCount();
                System.out.println("影响了" + n + "条记录");
            }
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值