描述:
利用集算器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);
}
}
}