gpt4 book ai didi

mysql - 如何从 google apps 脚本 .gs 返回 jdbc ResultSet 到 html 文件

转载 作者:行者123 更新时间:2023-11-29 08:13:07 25 4
gpt4 key购买 nike

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

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

代码在我的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。所以查询工作正常。

在我的 datatable.html 文件中,我调用 gs 文件并从表中获取值。效果很好。但只有返回类型值在我的 html 文件中为 null。我的 datable.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代码),例如将它们放入数组中并返回到客户端。检查这个例子

代码.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>

关于mysql - 如何从 google apps 脚本 .gs 返回 jdbc ResultSet 到 html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21179361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com