1

使用 JDBC 服务连接到 Google Cloud SQL 并
遵循概述示例,一切都按预期工作。

当我尝试执行其他一些 SQL 语句时,例如select database();
出现错误:Resultset does not have a column 1

这是我正在使用的代码。

var sqlStatement = "select database();";
var pstmt = conn.prepareStatement(sqlStatement);
var rs = pstmt.executeQuery(sqlStatement);  
app.add(app.createLabel(rs.getString(1)));

我也试过了,getObject()但它确实变得更好了。

那么任何想法、教程或示例如何处理
不同于典型选择的 sqlStatementsuse database
select database()

4

2 回答 2

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();
}
于 2013-01-09T16:01:01.077 回答
0

On the last line, try

app.add(app.createLabel(rs.getString(0)));

于 2013-01-09T00:12:20.180 回答