2013-01-09 60 views
1

使用JDBC服務連接到Google Cloud SQL,
遵循example of the overview,一切正常。

當我嘗試做一些其他的SQL語句像select database();
我得到的錯誤:結果集沒有列1錯誤:結果集沒有列1

這是我使用的代碼。

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

我也試過getObject()但它確實有所改善。

所以任何想法,教程或實例如何處理sqlStatements
比tipical不同選擇像use database
select database()

回答

1

你缺少的語句開始迭代器 - 這是的.next()上的記錄集調用。這是一個適用於我的功能。我只是使用記錄器在這裏記錄數據庫名稱,但同樣也適用於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(); 
} 
+0

Wokred就像一個魅力tnahks,以及如何檢查執行'使用數據庫'的resutl? – Jacobvdb

+0

太好了。 '使用數據庫'不會返回我相信的任何結果。所以從結果集中讀取不適用。 –

+0

也許我應該問一下如何確認'use database'語句的執行?是否有某種類型的返回來檢查是否有錯誤,或者沒有執行不返回典型結果集的stametent。 thnaks! – Jacobvdb

0

就上線,儘量

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

+0

試過它不工作也沒有。 – Jacobvdb

+0

對不起;這是我最好的猜測。 :-) –

+0

我試過了,但是在最後給出了與0相同的錯誤。順便說一句,當你像使用數據庫一樣執行SQL時,錯誤是結果集不能有空值。 – Jacobvdb