如何将 jdbcResultSet 从 google appscript .gs 返回到 html 文件



我在我的appscript应用程序中使用html服务。

在我的 sample.gs 文件中,我连接到jdbc并从我的云sql DB中获取值。

代码在我的 sample.gs 中是这样的

function doGet(){
return HtmlService.createTemplateFromFile('datatable').evaluate().setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
function getSql(){  
  var conn = Jdbc.getCloudSqlConnection('here i write my sql url');
  var stmt = conn.createStatement();
  var results = stmt.executeQuery("select name, location, address, phone, fax from  person");
  Logger.log(results);
  return results;
}
记录

器记录 jdbcResultSet。因此,查询工作正常。

在我的数据表中.html我调用 GS 文件并从表中获取值。它工作正常。但只有返回类型值 im 在我的 html 文件中变为空。我的数据.html代码就像他的

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type='text/javascript'>
    $(function(){
        var runner = google.script.run.withFailureHandler(onFailure);
        runner.withSuccessHandler(onSuccess).getSql();       
});
function onSuccess(data){
  alert(data);       
}
function onFailure(data){
  alert(data);
}

它进入成功功能。但警报为空。请帮助我如何获取结果值。

您需要在服务器端检索结果(gs 代码),例如将它们放在数组中并返回到客户端。检查此示例

Code.gs

function doGet(){
return HtmlService.createTemplateFromFile('datatable').evaluate().setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
function getSql(){  
  var conn = Jdbc.getConnection('jdbc:mysql://sql4.freesqldatabase.com:3306/sql427377', 'sql427377', '');
  var stmt = conn.createStatement();
  var results = stmt.executeQuery("select name, location, address, phone, fax from  person");
  Logger.log(results);
  var resultsArray = [];
  while(results.next()) {
    resultsArray.push({'name': results.getString(1),
                  'location' : results.getString(2),
                  'address' : results.getString(3),
                  'phone' : results.getString(4),
                  'fax' : results.getString(5)});
  }
  return JSON.stringify(resultsArray);
}

数据表

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type='text/javascript'>
    $(function(){
        var runner = google.script.run.withFailureHandler(onFailure);
        runner.withSuccessHandler(onSuccess).getSql();       
});
function onSuccess(data){
var data = JSON.parse(data);
  for(var x in data) {
     $("#myTable").append("<tr><td>"+data[x].name+"</td><td>"+data[x].location+"</td>   <td>"+data[x].address+"</td><td>"+data[x].phone+"</td><td>"+data[x].fax+"</td></tr>");
  }
}
function onFailure(data){
  alert(data);
}
</script>
<table id="myTable"></table>

相关内容

  • 没有找到相关文章

最新更新