- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SAP HANA Studio 创建一个基本上执行以下操作的 API:
{key:value}
对格式响应结果。我试过:
var output = {results: []};
var record = {};
try {
var query = 'SELECT REGION_ID, REGION FROM \"SOME_TABLE\"';
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement(query);
//################### DOUBT ###################
var rs = pstmt.executeQuery();
while (rs.next()) {
record.Key1 = rs.getString(1);
record.Key2 = rs.getString(2);
output.results.push(record);
}
//#############################################
rs.close();
pstmt.close();
conn.close();
}
catch (e) {
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
$.response.setBody(e.message);
}
var body = JSON.stringify(rs);
$.response.contentType = "text/html";
$.response.status = $.net.http.OK;
$.response.setBody(body);
以上代码
在 DOUBT 部分,我遍历 rs
并将值分配给手动创建的键 key1, key2 , 键-n
。 <我不想要这个>
我要
变量 rs
应该像一个带有键值对的 JSON,这样我就可以以一种无需手动创建索引的方式遍历它,相反,这应该来自 DB。
请帮忙。
最佳答案
下面的代码将为您提供 {} 的 [] 形式的结果,其中 {} 代表结果集中的一行。 {} 键是列名,值是实际的字段值。您仍然需要迭代,但不需要对键进行硬编码。使用 getMetaData和相应的class
function select(sql) {
var i, object;
var array = [];
var label;
try {
var runsSQL = $.db.getConnection().prepareStatement(sql);
var dbReturn = runsSQL.executeQuery();
var metaData = dbReturn.getMetaData();
var columnCount = metaData.getColumnCount() + 1;
while (dbReturn.next()) {
object = {};
for (i = 1; i < columnCount; i++) {
label = metaData.getColumnLabel(i);
object[label] = dbReturn.getNString(i);
}
array.push(object);
}
dbReturn.close();
runsSQL.close();
} catch (e) {
return ["error",e];
}
return array;
}
$.response.contentType = "application/json; charset=UTF-8";
$.response.setBody(JSON.stringify(select("SELECT TOP 10 * FROM M_TABLES")));
$.response.status = status;
关于javascript - XSJS 获取{key :value} paired result from SQL query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48296461/
我在 XSJS 中有一些代码可以根据某些条件填充/更新我的 Hana DB。我正在寻找一种机制,可以将一些注释打印到控制台或某些日志文件。 我知道我可以使用 console.log();适用于 Web
有没有一种方法可以通过 Mailgun 发送包含 html 页面作为其内容超过 ~2000 个字符的电子邮件?我有这段代码,它非常适合短 html,因为我相信它是在 URL 地址中发送的: var o
我知道我可以通过创建 .xsjslib 文件从 XSJS 调用其他 JS 文件。我希望能够调用 JSView。这可能吗? 注意:我这样做的原因是我可以使用 SAPUI5 库并更轻松地将外部库导入到我的
我是 xsjs 和 xsjslib 的新手,我的任务似乎涉及使用 xsjs 文件,也可能涉及 xsjslib 文件。这是我正在构建的应用程序:用户在前端输入一些内容,单击一个按钮,然后安排一个作业在当
我正在使用 SAP Hana studio 开发应用程序,我对为什么要使用 XSODATA 以及为什么要使用 XSJS 感到困惑。为什么我不能只使用 XSODATA 文件来执行所有数据库事务?我知道
我正在使用 SAP HANA Studio 创建一个基本上执行以下操作的 API: 获取请求 - 带参数 执行 SQL 查询(SQL 查询是动态生成的) 以 {key:value} 对格式响应结果。
我是一名优秀的程序员,十分优秀!