首先要保證mysql的服務是開啟的才能進行對資料庫的操作。
mysql與c++互動有兩個非常好的三方庫乙個是mysql++,乙個是connector/c++,這兩個庫我嘗試了mysql++不過我發現在中國mysql++的很多資料缺乏,很多都是講了一半剩下的就沒了,除非去看英文文件,可惜我英文不算好,所以我果斷先放棄試用三方庫還是老老實實的用用mysql官方的capi庫。
2、在進行資料庫操作的時候我們需要宣告乙個mysql 的資料結構,要包含mysql.h,但是你突然發現會出現編譯報錯,原來mysql.h裡引用了windows.h的一些東西,所以你要先包含windows.h才能正常使用mysql capi.
#include
#include"mysql.h"
void main()
mysql mysql;
我們必須先呼叫mysql的初始化
mysql_init(&mysql);
然後再連線資料庫
char* hostip="127.0.0.1";這個不用我說了吧
char* username="root";預設的資料庫使用者名稱,可以自定義
char* pwd="1";使用者密碼
char* port=「3306」;埠名
char* dbname="demo";資料庫名
mysql_real_connect(&mysql,hostip,username,pwd,dbname,port,null,0);
鏈結資料庫,返回mysql的指標,最後兩個引數依次為連線型別,mysql執行成odbc資料庫的標記。
現在我們進行增、刪、改、查的基本操作
查詢char* query="select * from demo.temp";由於我沒有先使用use 資料庫名,所以需要用資料庫名來引用表名
mysql_real_query(&mysql,query,(unsinged long)strlen(query));
執行之後會產生乙個結果集
mysql_res* res;
mysql_use_result(res);返回查詢的結果集也可使用mysql_store_result(mysql_res*)區別請參考官方手冊
通過迴圈檢索每一行讀出每行資料
mysql_row row;
while((row=mysql_fetch_row(res))!=null)
{for (int i=0;i注意每次使用完結果集時,請釋放結果集
mysql_free_result(res);
修改querytemp="update demo.temp set ***x=***x where id=xx";
int issuccse=mysql_real_query(&mysql,querytemp,(unsigned long)strlen(querytemp));
if (issuccse)
{cout<<"錯誤"《刪除
querytemp="delete from demo.temp where id=xx";
同上增加
querytemp="insert demo.temp values(id,xx,***)";
同上
c 與c 之間的互動
c 的 是非託管的.而.net是託管的.那麼c 和.net之間互相呼叫或者傳送資料的時候.就需要 封送資料到非託管 或者 到託管 而且他們之間的型別也是不相容的.如c 裡面的string型別,c 是沒有的.所以 如果像傳 int double一般不會有問題.但是string 傳值 最好用intptr...
C 與SAP 的互動
最近 做乙個專案 是 把 系統內部資料 上傳到 sap 中,由於 沒接觸 過 sap 對於 sap 還是 很陌生,在 問了 很多人 以及 查詢質料 終於 在 上周五 完成了 這個 模組,下面 說一下 具體的 步驟。最開始 以為 c 與 sap 是 websevice 之間 通訊 的 但是 在 聯絡 ...
qml與C 的互動
簡單說下我自己對qml與c 的互動的理解流程 1.介面互動,很多新手可能會寫qt介面或者qml介面,但想要把qml與c 結合起來就一臉矇逼了。首先我提供個簡單的方法實現qml和c 的介面互動,首先引入幾個重要的標頭檔案,當然在專案檔案中需要加qt quickwidgets才能引用以下標頭檔案 inc...