【问题标题】:How to execute sql statements from a C program?如何从 C 程序执行 sql 语句?
【发布时间】:2009-05-08 05:18:23
【问题描述】:

如何从 C 程序执行 SQL 语句。例如我想显示

的输出

select * from EMP

来自 c 程序。我需要使用存储过程吗?我需要任何库文件吗?我的 C 编译器是 Tiny C Compiler,我目前正在使用 SQL Server Studio 2005。还邀请了有关 Unix/AIX 平台 + GCC 的建议。

提前谢谢..

【问题讨论】:

  • 为什么前面的答案之一不见了..???
  • 用户可以删除自己的答案,例如当他们发现自己误读了问题时(在这种情况下不是我)

标签: sql c stored-procedures


【解决方案1】:

对于 *ix 和 Windows 以及所有(重要的)数据库服务器,旧但可靠的解决方案是 ODBC。我推荐Easysoft tutorial。根据this,您可能需要从 CD 手动安装 SQL Server ODBC 驱动程序。

【讨论】:

    【解决方案2】:

    对于 C,您可能希望使用 Microsoft ODBC API:http://msdn.microsoft.com/en-us/library/ms714562(v=VS.85).aspx

    我在我的CSQLBinding 类中大量使用它,其中包含大量使用示例。除了封装类之外,(显然只是 C++)所有功能都与普通 C 完全兼容。

    【讨论】:

      【解决方案3】:

      从 C 程序访问数据库有两种主要方式。正如 Matthew Flaschen 已经提到的,使用更广泛的一种是 ODBC(有时称为 CLI)。这可能是在 Windows 上用于 SQL Server 的最明智的方法。其他 DBMS 也有其他类似的接口 - 值得注意的是 Oracle 的 OCI。

      另一种机制称为嵌入式 SQL,例如 IBM Informix ESQL/C(IBM Informix ClientSDK 的一部分)等产品。在这些系统中,有一个预编译器可以接受以下语句:

      EXEC SQL CREATE TABLE x (y INTEGER NOT NULL);
      

      并安排正确的接口调用。显然,使用输入和输出变量,这可以节省一些工作 - 预编译器生成代码来处理 ODBC 等需要您明确编码的变量等列表。

      【讨论】:

        【解决方案4】:

        我现在用下面的方法解释in this question by me.满足了我的要求。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-14
          • 1970-01-01
          • 1970-01-01
          • 2012-06-11
          • 2021-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多