我正在创建一个C应用程序,我需要来自SQL服务器的一些数据。有谁知道如何在Windows下从我的C应用程序进行SQL查询?
答案 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完全兼容。