$(db)sql;…

阅读(774) 标签: 数据源, sql, 结果集,

描述:

利用集算器jdbc,在db中执行sql语句,返回结果集。

语法:

$(db)sql;

备注: 

在指定数据库db中,执行sql语句,执行后返回结果集。执行时,用st. executeQuery()执行,并返回结果集。

注意执行时数据库db需为已连接的状态。

JDBC中以$select$with开头的字串,将被解释为简单SQL去执行。

参数:

sql

sql 语句. 例如,select * from table;sql必须为select/insert/delete/update语句中的一种。

(db)

数据源名称,(db)省略则解释为简单sql

sql中的参数值。

返回值:

结果集

示例:

在数据库中执行sql:

public void testDataServer() {

Connection con = null;

java.sql.Statement st;

try{

Class.forName("com.esproc.jdbc.InternalDriver");

con = DriverManager.getConnection("jdbc:esproc:local://"); 

st = con.createStatement();

//查询demo数据库student表中年龄大于16的学生信息

ResultSet set = st.executeQuery("$(demo)select * from STUDENTS where AGE>?;16");

printRs(set);

}

catch(Exception e){

System.out.println(e);

}

finally{

//关闭连接

if (con!=null) {

try {

con.close();

}

catch(Exception e) {

System.out.println(e);

}

}

}

}

 

执行简单SQL,查询数据文件:

public void testDataServer(){

Connection con = null;

java.sql.Statement st;

     try{

        //建立连接

        Class.forName("com.esproc.jdbc.InternalDriver");

        con = DriverManager.getConnection("jdbc:esproc:local://");

          st = con.createStatement();

        //executeQuery方法执行简单SQL,查询cities.txt文件中的数据

        ResultSet set = st.executeQuery ("$select * from cities.txt ");

        ResultSetMetaData meta = set.getMetaData();

        while (set.next()) {

          for(int i=0; i<meta.getColumnCount(); i++){           

            System.out.print(set.getObject(i+1) + "\t");

          }

          System.out.println();

        }

        }

        catch(Exception e){

        System.out.println(e);

        }

        finally{

        //关闭连接

        if (con!=null) {

        try {

        con.close();

        }

        catch(Exception e) {

        System.out.println(e);

        }

        }

        }