平臺:使用JDBC服務連接到SQL Server的Google Apps腳本。獲取Google Apps腳本中最後插入的行的標識
如何獲取插入行的標識(id)? (代碼如下)我相信這個解決方案在這裏:https://stackoverflow.com/a/42655/3520117,但我正努力在使用JDBC服務的Google Apps腳本中實現這個通用解決方案。
Code.gs:
function postNewItem(formObject) {
var useremail = Session.getActiveUser().getEmail();
var timeZone = CalendarApp.getDefaultCalendar().getTimeZone();
var timestamp = Utilities.formatDate(new Date(), timeZone, "yyyyMMdd HH:mm:ss"); // get current date/time
var conn = Jdbc.getConnection(connParams);
var stmt = conn.prepareStatement('INSERT INTO tblOne '
+ '(email, timestamp, var1, var2, var3) '
+ 'values (?, ?, ?, ?, ?)');
stmt.setString(1, useremail);
stmt.setString(2, timestamp);
stmt.setString(3, formObject.var1);
stmt.setString(4, formObject.var2);
stmt.setString(5, formObject.var3);
stmt.execute();
conn.commit();
conn.close();
// log event
logEvent(id, "N/A", "New item added.", useremail);
}
的可能的複製[?如何獲得在JDBC插入ID] (http://stackoverflow.com/questions/1915166/how-to-get-the-insert-id-in-jdbc) –
馬克,它是一個類似,但distinc這不是問題,因爲這取決於Google實施的使用Google Apps腳本的JDBC驅動程序。他們的文檔沒有提及此功能,而且您鏈接的示例代碼是Java,Google Apps Script在服務器端使用JavaScript。 – h0dges
我確定Google Apps腳本的JDBC實現支持此功能。 執行(SQL,autoGeneratedKeys) https://developers.google.com/apps-script/reference/jdbc/jdbc-prepared-statement#execute(String,Integer) 的getGeneratedKeys() HTTPS://開發商.google.com/apps-script/reference/jdbc/jdbc-statement#getgeneratedkeys 幫助! – h0dges