C語言是一門廣泛使用的編程語言,它的應用范圍非常廣泛。在這其中,C語言也經常使用MySQL數據庫,因為MySQL是一種非常方便使用而且高效的數據庫。C語言針對MySQL的使用,可以使用ADO連接MySQL數據庫,通過這個方法可以更加方便地使用MySQL數據庫。
#include <stdio.h> #include <conio.h> #include <windows.h> #include <ole2.h> #include <adoint.h> #include <comutil.h> #pragma comment(lib, "adodb.lib") // 主函數 int main() { // 定義各種變量 VARIANT varConnection; CoInitialize(NULL); _RecordsetPtr rs(__uuidof(Recordset)); _ConnectionPtr con(__uuidof(Connection)); try { // 建立連接字符串 varConnection.SetString(L"Provider=MSDASQL;DSN=MySQLDataSource;UID=root;PWD=password;", CP_ACP); // 設定連接參數 con->CursorLocation = adUseClient; con->Open(varConnection, "", "", adConnectUnspecified); // 執行 SQL 語句 rs->Open("select * from employee", con.GetInterfacePtr(), adOpenKeyset, adLockOptimistic, adCmdText); // 輸出結果 while (!rs->adoEOF) { printf("Name:%s, Age:%d, ID:%d", _bstr_t(rs->GetCollect("name")), _bstr_t(rs->GetCollect("age")), _bstr_t(rs->GetCollect("id"))); rs->MoveNext(); } // 釋放資源 rs->Close(); if (con->State == adStateOpen) con->Close(); } catch(_com_error e) { printf("錯誤信息:%s", _bstr_t(e.Description())); } // 釋放COM組件 CoUninitialize(); return 0; }
這部分代碼中,首先我們包含了一些頭文件,包括了ado相關的頭文件。接著定義了主函數,這里聲明了各種變量,包括了類型為_ConnectionPtr和_RecordsetPtr的全局變量。這些變量都是用于連接并訪問MySQL數據庫的。
在主函數中,我們先建立了連接字符串,使用的是MSDASQL提供者。MSDASQL提供者是一種在Windows上用于連接各種數據源,包括MySQL的數據源。然后,我們設定了連接參數和打開了連接。接著,我們通過執行SQL語句的方式獲取了MySQL數據庫的表格,并進行了輸出。最后,我們釋放了連接和Recordset資源,以及COM組件。
通過以上代碼,我們可以使用C語言連接MySQL數據庫并進行訪問。這種方法使用起來非常便捷,但是需要注意連接參數的設置。有了這種方法,我們可以更加方便地使用MySQL數據庫。