本文目录
- sql中execute,executequery和executeupdate之间的区别
- java中executeQuery是什么意思
- 请问 executeQuery
- executequery方法出错
- executeQuery()参数用法
- java execute,executeQuery和executeUpdate之间的区别
- 如何将executeQuery用数组返回
- mysql 中execute,executeQuery和executeUpdate之间的区别
- Java中executeQuery方法的问题
- 在Java中如何使用execute()、executeQuery()、executeUpdate()三个方法
sql中execute,executequery和executeupdate之间的区别
在用纯JSP做一个页面报警功能的时候习惯性的用executeQuery来执行SQL语句,结果执行update时就遇到问题,语句能执行,但返回结果
出现问题,另外还忽略了executeUpdate的返回值不是结果集ResultSet,而是数值!特收藏如下一篇文章(感谢网友们对各种信息的贡
献):
JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。
方法executeQuery
用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。
方法executeUpdate
用
于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP
TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate
的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE
等不操作行的语句,executeUpdate 的返回值总为零。
使用executeUpdate方法是因为在
createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用
executeUpdate 方法来执行。你也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL
语句。实际上,相对于创建表来说,executeUpdate 用于更新表的时间更多,因为表只需要创建一次,但经常被更新。
方法execute:
用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能
execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。
因
为方法 execute 处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。例如,假定已知某个过程返回两个结果集,则在使用方法
execute 执行该过程后,必须调用方法 getResultSet 获得第一个结果集,然后调用适当的 getXXX
方法获取其中的值。要获得第二个结果集,需要先调用 getMoreResults 方法,然后再调用 getResultSet
方法。如果已知某个过程返回两个更新计数,则首先调用方法 getUpdateCount,然后调用 getMoreResults,并再次调用
getUpdateCount。
对于不知道返回内容,则情况更为复杂。如果结果是 ResultSet 对象,则方法 execute 返回
true;如果结果是 Java int,则返回 false。如果返回 int,则意味着结果是更新计数或执行的语句是 DDL 命令。在调用方法
execute 之后要做的第一件事情是调用 getResultSet 或 getUpdateCount。调用方法 getResultSet
可以获得两个或多个 ResultSet 对象中第一个对象;或调用方法 getUpdateCount
可以获得两个或多个更新计数中第一个更新计数的内容。
当 SQL 语句的结果不是结果集时,则方法 getResultSet 将返回
null。这可能意味着结果是一个更新计数或没有其它结果。在这种情况下,判断 null 真正含义的唯一方法是调用方法
getUpdateCount,它将返回一个整数。这个整数为调用语句所影响的行数;如果为 -1 则表示结果是结果集或没有结果。如果方法
getResultSet 已返回 null(表示结果不是 ResultSet 对象),则返回值 -1
表示没有其它结果。也就是说,当下列条件为真时表示没有结果(或没有其它结果):
((stmt.getResultSet() == null) && (stmt.getUpdateCount() == -1))
如
果已经调用方法 getResultSet 并处理了它返回的 ResultSet 对象,则有必要调用方法 getMoreResults
以确定是否有其它结果集或更新计数。如果 getMoreResults 返回 true,则需要再次调用 getResultSet
来检索下一个结果集。如上所述,如果 getResultSet 返回 null,则需要调用 getUpdateCount 来检查 null
是表示结果为更新计数还是表示没有其它结果。
当 getMoreResults 返回 false 时,它表示该 SQL 语句返回一个更新计数或没有其它结果。因此需要调用方法 getUpdateCount 来检查它是哪一种情况。在这种情况下,当下列条件为真时表示没有其它结果:
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
下面的代码演示了一种方法用来确认已访问调用方法 execute 所产生的全部结果集和更新计数:
stmt.execute(queryStringWithUnknownRe
sults);
while (true) {
int rowCount = stmt.getUpdateCount();
if (rowCount 》 0) { // 它是更新计数
System.out.println(“Rows changed = “ + count);
stmt.getMoreResults();
continue;
}
if (rowCount == 0) { // DDL 命令或 0 个更新
System.out.println(“ No rows changed or statement was DDL
command“);
stmt.getMoreResults();
continue;
}
// 执行到这里,证明有一个结果集
// 或没有其它结果
ResultSet rs = stmt.getResultSet;
if (rs != null) {
. . . // 使用元数据获得关于结果集列的信息
while (rs.next()) {
. . . // 处理结果
stmt.getMoreResults();
continue;
}
java中executeQuery是什么意思
执行数据库查询语句 这个方法的参数是一个sql语句 比如
statement.executeQuery(“select * from tb_user“)
请问 executeQuery
这个方法就是用来从数据库从查询出结果,方法中所需要的参数sql表示sql语句,后面那个object...args要看sql语句中的“?”,通俗说来就是参数,然后开始一行一行讲解
int rowAffects=0;这个整型的变量代表受影响的行数
con=getConnection();这是一个connection类型的变量,用来连接数据库
pstmt是preparedStatement的实例,用来执行sql语句
下面的语句开始就是将传过来的参数赋值给sql语句中的问号,最后就是执行查询语句并将返回的结果赋值给rs,返回rs
-date
executequery方法出错
executeQuery() 返回的是ResultSet();
记录已被delete,当然就没有结果返回
delete时不用它,用execute()就可以.
还有
其实不需要用executeQuery()方法,用execute()就可以了啊
如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法,如果用的是statement的executeQuery()就会出现上诉问题,原因:《br /》executeQuery《br /》ResultSet executeQuery(String sql)《br /》 throws SQLException执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 《br /》《br /》参数:《br /》sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句 《br /》返回:《br /》包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 《br /》抛出: 《br /》SQLException - 如果发生数据库访问错误或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容《br /》《br /》简单说查询语句用executeQuery(sql), 更新语句用execute()。所以你只要将executeQuery(update_sql)这些代码改成execute(update_sql)就可以了。《br /》希望能对你有帮助。
好像有点复杂了
你可以给我发信息(在百度上)
我明天也会上百度的
我们可以讨论一下
-exe
executeQuery()参数用法
executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供使用。
即语句:String sql=“select * from“+tableName; ResultSet rs=s.executeQuery(sql);
使用JDBC连接数据库的四步:
第一步,加载驱动程序;
第二步,连接数据库;
第三步,访问数据库;
第四步,执行查询。
-date
java execute,executeQuery和executeUpdate之间的区别
java中execute,executeQuery和executeUpdate之间的区别如下:
1、总的概括如下:
executeQuery()—直接从数据库中获取数据,只能执行select语句
executeUpdate()—对数据库进行insert,delete或者update
execute()—所有对数据库的操作都可以使用此方法
2、具体区别如下:
executeQuery() :通常用于读取数据库的内容。以结果集的形式输出数据。一般使用于SELECT语句。
executeUpdate() — 通常用于改变数据库。一般来说DROP TABLE或数据库,插入到表,更新表,从TABLE语句删除将在此使用。输出将在INT的形式。此int值表示受到查询的行数。
execute() — 如果用户不知道要用于执行SQL语句该方法,可以使用这种方法。这将返回一个布尔值。 TRUE表示结果是一个ResultSet,FALSE表示它有它表示受查询的行数的int值。
-exe
如何将executeQuery用数组返回
现在我用的代码如下,想要将这个函数改成返回成ArrayList
public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
System.out.println(“executeQuery“);
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
-date
mysql 中execute,executeQuery和executeUpdate之间的区别
JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate和 execute。使用哪一个方法由
SQL 语句所产生的内容决定。
方法executeQuery
用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT
语句,它几乎是使用最多的 SQL 语句。
方法executeUpdate
用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP
TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。executeUpdate
的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate
的返回值总为零。
使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL
(数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。你也可以从它的名字里看出,方法
executeUpdate 也被用于执行更新表 SQL 语句。实际上,相对于创建表来说,executeUpdate
更多时间是用于更新表,因为表只需要创建一次,但经常被更新。
方法execute:
用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能
execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程
或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。
因为方法 execute 处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。例如,假定已知某个过程返回两个结果集,则在使用方法 execute
执行该过程后,必须调用方法 getResultSet 获得第一个结果集,然后调用适当的 getXXX 方法获取其中的值。要获得第二个结果集,需要先调用
getMoreResults 方法,然后再调用 getResultSet 方法。如果已知某个过程返回两个更新计数,则首先调用方法
getUpdateCount,然后调用 getMoreResults,并再次调用 getUpdateCount。
对于不知道返回内容,则情况更为复杂。如果结果是 ResultSet 对象,则方法 execute 返回 true;如果结果是 Java int,则返回
false。如果返回 int,则意味着结果是更新计数或执行的语句是 DDL 命令。在调用方法 execute 之后要做的第一件事情是调用
getResultSet 或 getUpdateCount。调用方法 getResultSet 可以获得两个或多个 ResultSet
对象中第一个对象;或调用方法 getUpdateCount 可以获得两个或多个更新计数中第一个更新计数的内容。
-exe
Java中executeQuery方法的问题
你要用变量作为参数的话,不能用Statement,要用PreparedStatement.
String target = gui.txt.getText();
PreparedStatement pstmt = con.prepareStatement(“Select class from table where name = ?“);
pstmt.SetString(1, target );
然后 resultSet rs = pstmt.executeQuery();
就可以了。这PreparedStatement是专用来设置参数用的,Statement只能是在sql完全确定的情况下才能用。
-date
在Java中如何使用execute()、executeQuery()、executeUpdate()三个方法
execute(String sql)
执行给定的 SQL 语句,该语句可能返回多个结果。
executeQuery(String sql)
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)
头2种一般在查询中使用
最后一个在插入、更新、删除时使用
-exe