java连接数据库Statement中的参数问题

java连接数据库Statement中的参数问题,第1张

是可以用两个数字来代替,ResultSetTYPE_SCROLL_SENSITIVE可以用 1005 代替,而Resultsetconcur_updatable可以用 1008 代替。

PDO可以兼容更多数据库,同样的语法访问不同数据库;

配置简单, *** 作方便;

PDO对预处理语句的支持需要使用PDOStatement类对象,所以PDOStatement类只是PDO的一部分,这个类比较大作用是防止sql注入:

1

2

3

4

5

6

7

8

9

<php

//省略PDO连接数据库代码

$query = "insert into contactinfo (name,address,phone) values(:name,:address,:phone)";

$stmt = $dbh->prepare($query); //调用PDO对象中的prepare()方法

$stmt->blinparam(':name',$name); //将变量$name的引用绑定到准备好的查询名字参数":name"中

$stmt->blinparam(':address',$address);

$stmt->blinparam(':phone',phone);

//

>

它是每个字段值可以对应替换的,pdo可以对每个值进行处理,防止sql注入;

ClassforName("sunjdbcodbcJdbcOdbcDriver") ;

String

sConnStr="jdbc:odbc:mydb";

//String url="jdbc:odbc:Driver={MicroSoft Access

Driver (mdb)};DBQ="+"mydbmdb";

Connection conn =

DriverManagergetConnection(sConnStr);

Statement

st=conncreateStatement();

String sql="select from user_info";

ResultSet

rs=stexecuteQuery(sql);

while(rsnext()){

Systemoutprintln(rsgetString("name"));

}

Statement 使用案例

1、创建 Statement 对象

建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法 createStatement 创建,如下列代码段中所示:

Connection con = DriverManagergetConnection(url, sunny, );

Statement stmt = concreateStatement();

为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法:

ResultSet rs = stmtexecuteQuery(SELECT a, b, c FROM Table2);

2、使用 Statement 对象执行语句

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。

方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。

方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不 *** 作行的语句,executeUpdate 的返回值总为零。

方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能,所以本概述后面将在单独一节中对其进行介绍。

执行语句的所有方法都将关闭所调用的 Statement 对象的当前打开结果集(如果存在)。这意味着在重新执行 Statement 对象之前,需要完成对当前 ResultSet 对象的处理。

应注意,继承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的 executeQuery、executeUpdate 和 execute 方法。Statement 对象本身不包含 SQL 语句,因而必须给 Statementexecute 方法提供 SQL 语句作为参数。PreparedStatement 对象并不将 SQL 语句作为参数提供给这些方法,因为它们已经包含预编译SQL 语句。CallableStatement 对象继承这些方法的 PreparedStatement 形式。对于这些方法的 PreparedStatement 或 CallableStatement 版本,使用查询参数将抛出 SQLException。

3、语句完成

当连接处于自动提交模式时,其中所执行的语句在完成时将自动提交或还原。语句在已执行且所有结果返回时,即认为已完成。对于返回一个结果集的 executeQuery 方法,在检索完 ResultSet 对象的所有行时该语句完成。对于方法 executeUpdate,当它执行时语句即完成。但在少数调用方法 execute 的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。

关闭 Statement 对象

Statement 对象将由 Java 垃圾收集程序自动关闭。而作为一种好的编程风格,应在不需要 Statement 对象时显式地关闭它们。这将立即释放 DBMS 资源,有助于避免潜在的内存问题。

以上就是关于java连接数据库Statement中的参数问题全部的内容,包括:java连接数据库Statement中的参数问题、php连接数据库关于PDO类和PDOStatement类的区别是什么、Java链接数据库 Statement stmt=conn.createSstatement(); 中提示conn cannot be resolved等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10074061.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存