Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C/C++应用程序进行SQL查询?_Sql_C_Windows - Fatal编程技术网

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

如何从C/C++应用程序进行SQL查询?,sql,c,windows,Sql,C,Windows,可能重复: 我正在创建一个C应用程序,需要从SQL server中获取一些数据。有人知道如何在Windows下从我的C应用程序中进行SQL查询吗?下面是一个代码示例,让您开始。。。很抱歉,我不能为您提供一个C示例 #include <ATLComTime.h> #import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile") inline void TESTHR(HR

可能重复:


我正在创建一个C应用程序,需要从SQL server中获取一些数据。有人知道如何在Windows下从我的C应用程序中进行SQL查询吗?

下面是一个代码示例,让您开始。。。很抱歉,我不能为您提供一个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
    }
}

下面是一个代码示例,让您开始。。。很抱歉,我不能为您提供一个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
    }
}

使用C,您可能需要使用Microsoft ODBC API:


我在我的课堂上大量使用它,其中包含了大量的使用示例。除了封装类,很明显,C++的所有功能都完全与普通C.< /P>< P>用C兼容,您可能希望使用微软ODBC API:


我在我的课堂上大量使用它,其中包含了大量的使用示例。除了封装类,很明显,C++的所有功能都完全与普通C.</P>完全兼容,我不太清楚,但我认为它是SQL Server 2008.我不太清楚,但我认为是SQL Server 2008.非常感谢,这对我非常有帮助,这也帮助了很多.