平台:使用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