描述:
通过集算器jdbc,直接执行语句,返回结果集
语法:
=expression
备注:
这种语句类似集算器计算格中的表达式,Statement可以直接用con.createStatement()生成,执行时,用st.executeQuery()直接执行语句,并返回结果集。如果语句中有tab/enter分隔符则动态生成一个网格执行。注意表达式一定要以等号开头。语句中的参数,固定以arg开头,可能没有。
参数:
expression |
sql语句或表达式。如果括号中有多个表达式,表示依次计算表达式并返回最后一个表达式的值,例如:(arg1=1,arg2=2,arg1+arg2),最后的返回值为3 |
返回值:
结果集
示例:
public void testDataServer() {
Connection con = null;
java.sql.PreparedStatement st;
java.sql.Statement st2;
try{
Class.forName("com.esproc.jdbc.InternalDriver");
con=DriverManager.getConnection("jdbc:esproc:local://");
//调用存储过程
st=con.prepareCall("call test(3)");
//直接执行语句,返回结果集
ResultSet set = st.executeQuery("=(arg=3,arg+3)");
//打印结果
printRs(set);
//直接创建Statement
st2=con.createStatement();
ResultSet set2 = st2.executeQuery("=(arg=3,arg+4)");
printRs(set2);
//如果语句中有tab/enter分隔符则动态生成一个网格执行
ResultSet b =st2.executeQuery("==null\nfor 1,11,5\n\t>A1=A1+A2");
printRs(b);
}
catch(Exception e){
System.out.println(e);
}
finally{
//关闭连接
if (con!=null) {
try {
con.close();
}
catch(Exception e) {
System.out.println(e);
}
}
}
}