我运行以下Java代码:
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));这方面的产出如下:
FIRST: true
GET STRING: nullresultSet.getString(1);和resultSet.getString("cleaned");都不返回任何东西,只返回null。
编辑:直接在MySQL中运行语句的工作正常。
发布于 2012-05-31 15:47:54
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,因为您不使用数据库表。
发布于 2012-05-31 16:21:55
你的代码对我来说很好。
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的值是有效的(非空值)?
https://stackoverflow.com/questions/10836916
复制相似问题