0

내 appscript 앱에서 html 서비스를 사용하고 있습니다.jdbcResultSet을 Google appscript에서 .gs 파일을 html로 반환하는 방법

내 sample.gs 파일에서 jdbc에 연결하고 my cloud 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는 기록이 같다. 그래서 쿼리가 잘 작동합니다.

내 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); 
} 

그것은 성공의 기능을 입력 t에 같습니다. 그러나 경고는 null입니다. 결과 값을 얻는 방법을 알려주세요.

답변

2

서버 측 (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> 
확인