使用JDBC服务连接到Google Cloud SQL并按照example of the overview一切正常工作。
当我尝试执行其他SQL语句时,如select database();
,我收到错误: Resultset没有第1列 < /强>
这是我正在使用的代码。
var sqlStatement = "select database();";
var pstmt = conn.prepareStatement(sqlStatement);
var rs = pstmt.executeQuery(sqlStatement);
app.add(app.createLabel(rs.getString(1)));
我也试过getObject()
,但它确实变得更好。
那么如何处理sqlStatements的任何想法,教程或示例都不同于use database
或
select database()
等典型选择?
答案 0 :(得分:1)
您缺少启动迭代器的语句 - 这是记录集上的.next()调用。这是一个适合我的功能。我只是使用Logger在这里记录数据库名称,但同样适用于UiApp。
function simpleRead() {
var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://arunnagarajan:...");
var stmt = conn.createStatement();
var rs = stmt.executeQuery("select database()");
rs.next(); //if you expect multiple rows, then do this in while(rs.next()) loop
Logger.log(rs.getString(1));
rs.close();
stmt.close();
conn.close();
}
答案 1 :(得分:0)
在最后一行,尝试
app.add(app.createLabel(rs.getString(0)));