0
SQLサーバーにクエリするためのGoogleシートにJDBC接続があります。私はJDBCの初心者ですので、他の人々のコードを一緒に作っていますが、それはうまくいきますが、クエリに出力が多く、シートに書き込むのに時間がかかるようです。スプレッドシートにSQLクエリをリレー/パブリッシュするコードの高速化が必要
私が使用しているコードよりも、より効率的なコードを行と列に入れることができるかどうか教えてください。私はコードの出力セクションについてのみ心配しています。
function createtestDispositionHistoryTable() {
var conn = Jdbc.getConnection("jdbc:sqlserver://123.45.67.89;databaseName=dbname","me","myPassword");
var stmt = conn.createStatement();
var rs = stmt.executeQuery("SELECT agent.firstname, agentdispositionhistory.dispositionid, agentdispositionhistory.dispositiontime, leadlist.name, program.name, agentdispositionhistory.sale\
FROM agentdispositionhistory\
INNER JOIN lead\
ON agentdispositionhistory.leadid=lead.id\
INNER JOIN leadlist\
ON lead.leadlistid=leadlist.id\
INNER JOIN program\
ON leadlist.programid=program.id\
INNER JOIN agent\
ON agentdispositionhistory.agentid=agent.id\
WHERE agentdispositionhistory.dispositionid IN\
(1971,\
1976,\
1977,\
1978,\
1979,\
1980,\
1982,\
1983,\
1984,\
1995,\
2000,\
2001,\
2002,\
2003,\
2004,\
2006,\
2007,\
2008,\
2019,\
2023,\
2025,\
2026,\
2027,\
2029,\
2030,\
2031,\
2032)");
var doc = SpreadsheetApp.getActiveSpreadsheet();
doc.insertSheet('Agent Disposition Table test');
var sheet = doc.getSheets()[0];
doc.appendRow(["Name", "Disposition", "Date", "Lead List", "Program", "Sale"]);
var cell = doc.getRange('a1');
var row = 1;
while(rs.next()) {
cell.offset(row, 0).setValue(rs.getString(1));
cell.offset(row, 1).setValue(rs.getString(2));
cell.offset(row, 2).setValue(rs.getString(3));
cell.offset(row, 3).setValue(rs.getString(4));
cell.offset(row, 4).setValue(rs.getString(5));
cell.offset(row, 5).setValue(rs.getString(6));
row++;
}
rs.close();
stmt.close();
conn.close();
}
私が参照してる特定のセクションでは、次のとおりです。そのははるかに高く評価任意の助け
var cell = doc.getRange('a1');
var row = 1;
while(rs.next()) {
cell.offset(row, 0).setValue(rs.getString(1));
cell.offset(row, 1).setValue(rs.getString(2));
cell.offset(row, 2).setValue(rs.getString(3));
cell.offset(row, 3).setValue(rs.getString(4));
cell.offset(row, 4).setValue(rs.getString(5));
cell.offset(row, 5).setValue(rs.getString(6));
row++;
ありがとう!
は、私は2次元配列を研究し、仕事にこれを得る上で動作します、ありがとうございます。ちょうどGoogleに何を知っていることが大いに役立ちます。 – user2942346
私のコードで、セルのすべてのものをwhileの末尾に置き換えてみてください。うまくいけばうまくいくはずです –
私は仕事にとても近いと思います。エラーなしで実行されますが、出力はありません。実行記録にはデータの取得も示されます。 – user2942346