【问题标题】:Format any resultset to JSON using ODBC使用 ODBC 将任何结果集格式化为 JSON
【发布时间】:2011-08-20 14:40:06
【问题描述】:

我正在开发一个客户端接口,该接口可以通过在输入字段和服务器端(用 C 编码并使用 sql.h)传递所需的查询来连接到任何数据库,解析此查询并以 JSON 格式返回内容。我可以通过使用 Select * from tablename 查询轻松完成此操作,因为我能够使用 count(*) 查询获取行数,并且我将其与 for 循环一起使用以将我的 JSON 打印到缓冲区中。我如何为任何其他查询完成相同的操作?

我在某处读到按行绑定可能会有所帮助,但是将结果集解析为 json 格式的逻辑是什么? (假设我需要按行格式的数据。例如:{"Records" : [["col heading 1", "col heading 2", "col heading 3"], ["row content 1", "row content 2", "row content 3"]...]}

【问题讨论】:

  • 有什么理由想用 C 编写服务器端吗?当然可以,但是如果今天有更好的工具来完成这项工作,我不明白你为什么要给自己带来痛苦……这样一个用任何 Web 框架工具编写的服务器只是几行代码。
  • “实施 ODBC”?已经实现了 ODBC C 库。您可以包装它并添加您需要的功能。还是我错过了什么?
  • 你去@Kiril。我改了。

标签: c odbc


【解决方案1】:

ODBC 仅提供一种方法 (SQLRowCount) 来找出 UPDATE / DELETE / INSERT 语句的受影响行数 - 请参阅 http://msdn.microsoft.com/en-us/library/ms711835%28v=VS.85%29.aspx...

如果您想找出 SELECT 的行数,您可以使用 SELECT COUNT(*) 再次执行查询,或者您只需遍历结果集并计算 ODBC 传递的行数...

http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/6fe5403d-900c-4b07-9d00-1f42731b5602
How to Get The Count or The Number Of Rows In A Result Set In PHP using ODBC Connection?

注意:虽然第二个链接提到了 PHP,但答案与语言无关,因为行为的原因在于 ODBC 标准和使用的 ODBC 驱动程序。

【讨论】:

    猜你喜欢
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多