我正在尝试创建一个Apps Script项目,该项目从列表中获取MySQL查询并执行它们。
列表中的最后一个单元格包含单词“ EXIT”。
我的意图是使用If中断退出for循环。
它正在处理更新查询并执行它们,但不会退出循环以继续
任何指导将不胜感激。
Logger.log(ipAddress)
Logger.log(userPassword)
Logger.log(user)
Logger.log(dbUrl)
var connection = Jdbc.getConnection(dbUrl, user, userPassword);
var stmt = connection.createStatement()
Logger.log(connection);
for (var i = 2;; i++) {
var queryCell = querySheet.getRange(i, 1).getValue();
Logger.log(queryCell);
if (queryCell == "EXIT") {
log.setValue(queryCell);
break;
}
var rs = stmt.executeUpdate(queryCell);
}
rs.close();
stmt.close();
connection.close();
Logger.log("Loop Exited")
var toast = SpreadsheetApp.getActiveSpreadsheet().toast('Complete', 'Status', 10);
var time = new Date();
loadEndCell.setValue(time);
答案 0 :(得分:2)
尝试类似这样的方法。每个getValue()/ setValue()都是对服务器的调用,并且可能影响性能。最好使用getValues()/ setValues()。
var queryData = querySheet.getDataRange().getValues();
for( var i=1; i<queryData.length; i++ ) {
Logger.log(queryData[i][0]);
if( queryData[i][0] === "EXIT" ) {
break;
}
}