如何在 Google App Script 中使用参数调用 MySQL 存储过程?

Posted

技术标签:

【中文标题】如何在 Google App Script 中使用参数调用 MySQL 存储过程?【英文标题】:How to call MySQL stored procedure with parameter in Google App Script? 【发布时间】:2019-12-28 13:24:54 【问题描述】:

我正在尝试使用参数调用 mysql 存储过程并将获取的数据存储到结果集中。

    如何使用参数调用存储过程 如何获取结果并存储在结果集中

我正在使用外部数据库 MySQL,服务器:MariaDB。

var currentUser = Session.getActiveUser().getEmail();
  
  var conn = Jdbc.getConnection('<connection string>');
  
  var stmt = conn.createStatement();
    
  var callstoredprocedure = "SET @p0='"+currentUser+"'; CALL DCCwebApp_getAllApprovedDocument (@p0);";
  var mysqlquery = conn.prepareStatement(callstoredprocedure);
  
  
  var resultSet = mysqlquery.executeUpdate();
  var row = 1; 
  while (resultSet.next()) 
    for (var col = 0; col < resultSet.getMetaData().getColumnCount(); col++)  
      Logger.log(resultSet.getString(col + 1));
    
    row++;
  
  stmt.close();
  conn.close();

在我使用参数调用存储过程后,我期待一个结果集。

【问题讨论】:

【参考方案1】:
var currentUser = Session.getActiveUser().getEmail();

  var conn = Jdbc.getConnection('<connection string>');

  var stmt = conn.createStatement();

  var callstoredprocedure = "call DCCwebApp_getAllApprovedDocument(?)";
  var mysqlquery = conn.prepareStatement(callstoredprocedure);

  mysqlquery.setString(1, currentUser);

  var resultSet = mysqlquery.executeQuery();

【讨论】:

以上是关于如何在 Google App Script 中使用参数调用 MySQL 存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

如何强制 Google App Script MailApp.sendEmail 在循环中为每封电子邮件使用新线程?

在Google-App-Script for Google云端硬盘中如果标题包含某个字词,如何将某些文件从root移动到某个文件夹?

如何收听Telegram Bot错误? (Google App Script + Webhooks)

如何使用 Google App Script 从 Youtube 搜索中创建 RSS 提要?

如何向 Google Apps Script Web App 发送有效的 HTTP 请求?

如何从 Google OAuth 2.0 Playground 运行 Google App Script 功能 |调用者没有权限