首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空ResultSet of PreparedStatement

空ResultSet of PreparedStatement
EN

Stack Overflow用户
提问于 2012-05-31 15:45:24
回答 2查看 2.9K关注 0票数 0

我运行以下Java代码:

代码语言:javascript
复制
String qry = "SELECT QUOTE(?) AS cleaned";
PreparedStatement getQuote = MySQLSingleton.getInstance().conn.prepareStatement(qry);
getQuote.setString(1, clean_string);
ResultSet resultSet = getQuote.executeQuery();
System.out.println("FIRST: " + resultSet.first());
System.out.println("GET STRING: " + resultSet.getString(1));

这方面的产出如下:

代码语言:javascript
复制
FIRST: true
GET STRING: null

resultSet.getString(1);resultSet.getString("cleaned");都不返回任何东西,只返回null

编辑:直接在MySQL中运行语句的工作正常。

EN

回答 2

Stack Overflow用户

发布于 2012-05-31 15:47:54

代码语言:javascript
复制
String qry = "SELECT QUOTE(?) AS cleaned";
PreparedStatement getQuote = MySQLSingleton.getInstance().conn.prepareStatement(qry);
getQuote.setString(1, clean_string);
ResultSet resultSet = getQuote.executeQuery();
resultSet.first();
System.out.println(resultSet.getFetchSize());

在您的java代码中,我认为这是正确的。

编辑:

您应该知道,GetFetchSize()不返回ResultSet中的记录数。GetFetchSize()一次返回数据库获取给应用程序的记录数。默认情况下,fetch大小为10,因此fetch返回0,因为您不使用数据库表。

票数 1
EN

Stack Overflow用户

发布于 2012-05-31 16:21:55

你的代码对我来说很好。

代码语言:javascript
复制
String qry = "SELECT QUOTE(?) AS cleaned";
PreparedStatement getQuote = con.prepareStatement(qry);
getQuote.setString(1, "sdafsdaf");
ResultSet resultSet = getQuote.executeQuery();
System.out.println("FIRST: " + resultSet.first());
System.out.println("GET STRING: " + resultSet.getString(1));

输出:

优先:真

获取字符串:'sdafsdaf‘

我的版本中唯一的更改是变量clean_string。您能否确保clean_string的值是有效的(非空值)?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10836916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档