简述JDBC中三种Statement对象的作用
发布网友
发布时间:2022-04-07 18:05
我来回答
共2个回答
热心网友
时间:2022-04-07 19:35
来自java
api用于执行静态
SQL
语句并返回它所生成结果的对象。
在默认情况下,同一时间每个
Statement
对象在只能打开一个
ResultSet
对象。因此,如果读取一个
ResultSet
对象与读取另一个交叉,则这两个对象必须是由不同的
Statement
对象生成的。如果存在某个语句的打开的当前
ResultSet
对象,则
Statement
接口中的所有执行方法都会隐式关闭它
热心网友
时间:2022-04-07 20:53
简介:
1、statement
2、preparedstatement
3、callablestetement
callablestatement
对象为所有的
dbms
提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是
callablestatement
对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参数,另一种形式不带结果参数。结果参数是一种输出
(out)
参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(in
参数)、输出(out
参数)或输入和输出(inout参数)的参数。问号将用作参数的占位符。
关系:
statement是preparedstatement父类;
preparedstatement是callablestetement的父类。
语法:
1、statement语法
2、preparedstatement语法
preparedstatement
perstmt=null;
perstmt
=con.preparestatement("insert
into
tb_name
(col1,col2,col2,col4)
values(?,?,?,?)");//通过数据库连接对象的方法获得
perstmt.setstring(1,var1);//给占位符赋值,var1~var4是已赋值的变量
perstmt.setstring(2,var2);//1、2、3、4是占位符(?)的编号
perstmt.setstring(3,var3);
perstmt.setstring(4,var4);
perstmt.executeupdate();//执行sql语句
3、callablestetement语法
callablestatement
proc=null;//创建对象
string
sql=”
{call
getpagecount(?)}
”;//编写sql命令
//获取数据库连接conn
proc=conn.pareparecall(sql);//调用存储过程
proccall.registeroutparameter(1,types.integer);//转化数据类型
proccall.execute();//执行sql命令
newstotalcount
=
proccall.getint(1);//获取存储过程的out参数