如何从C / C ++应用程序进行SQL查询?

时间:2011-07-07 17:33:22

标签: sql c windows

  

可能重复:
  How to execute sql statements from a C program?

我正在创建一个C应用程序,我需要来自SQL服务器的一些数据。有谁知道如何在Windows下从我的C应用程序进行SQL查询?

2 个答案:

答案 0 :(得分:3)

这是一个启动你的代码示例...抱歉,我无法为您提供C示例。

#include <ATLComTime.h>

#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};

int main()
{
    std::string connectStr = "Provider=sqloledb;Data Source=MyDSN;Database=MyDB;User Id=DBUser;Password=Dbpwd;";

    try
    {
        ADODB::_ConnectionPtr pConnection;
        TESTHR(pConnection.CreateInstance(__uuidof(ADODB::Connection)));
        ADODB::_ConnectionPtr pConnection->Open (connectStr.c_str(),"","", NULL);


        VARIANT * RecordsAffected NULL;
        long Options = ADODB::adExecuteNoRecords;

        ADODB::_RecordsetPtr pRec = pConnection->Execute("select * from my_table",RecordsAffected,Options);


        // Rest you should be able to figure out.
    }
    catch(_com_error &e)
    {
        // print error message
    }
}

答案 1 :(得分:2)

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

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