带IF语句的for循环不会退出

时间:2018-08-28 18:05:19

标签: mysql jdbc google-apps-script google-sheets

我正在尝试创建一个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);

1 个答案:

答案 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;
    }
  }