$(db)sql;…

阅读(533) 标签: 数据源, 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);

    }

    }

    }