c語言鏈接庫
Ⅰ 用c語言怎麼連接資料庫呢
1、配置ODBC數據源。
2、使用SQL函數進行連接。
對於1、配置數據源,配置完以後就可以編程操作資料庫了。
對於2、使用SQL函數進行連接,參考代碼如下:
#include<windows.h>
#include<sql.h>
#include<sqlext.h>
voidmain()
{
HENVhenv;//環境句柄
HDBChdbc;//數據源句柄
HSTMThstmt;//執行語句句柄
unsignedchardatasource[]="數據源名稱";//即源中設置的源名稱
unsignedcharuser[]="用戶名";//資料庫的帳戶名
unsignedcharpwd[]="密碼";//資料庫的密碼
unsignedcharsearch[]="selectxmfromstuwherexh=0";
SQLRETURNretcode;//記錄各SQL函數的返回情況
//分配環境句柄
retcode=SQLAllocEnv(&henv);//等介於SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL
,&henv);
//設置ODBC環境版本號為3.0
retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
//分配連接句柄
retcode=SQLAllocConnect(henv,&hdbc);//等介於SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
//設置連接屬性,登錄超時為*rgbValue秒(可以沒有)
//SQLSetConnectAttr(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);
//直接連接數據源
//如果是windows身份驗證,第二、三參數可以是
,也可以是任何字串
//SQL_NTS即"
retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);
//分配語句句柄
retcode=SQLAllocStmt(hdbc,&hstmt);//等介於SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
//直接執行查詢語句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//將數據緩沖區綁定資料庫中的相應欄位(i是查詢結果集列號,queryData是綁定緩沖區,BUFF_LENGTH是緩沖區長度)
SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);
//遍歷結果集到相應緩沖區queryData
SQLFetch(hstmt);
/*
*對遍歷結果的相關操作,如顯示等
*/
//注意釋放順序,否則會造成未知錯誤!
SQLFreeHandle(SQL_HANDLE_STMT,hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
SQLFreeHandle(SQL_HANDLE_ENV,henv);
}
Ⅱ c語言 怎麼調用DLL鏈接庫
http://www.360doc.com/content/10/0723/13/1898714_40880762.shtml
VC++之icepubdll部分程序例子回
可參考答
Ⅲ 如何用c語言調用c++做成的動態鏈接庫
因為c++的各種復雜機制,生成的動態鏈接庫中的符號名是不符合C的機制的,直接內鏈接會失敗,一容般解決c和c++的鏈接問題是在c++的代碼上進行處理的,只要將你的cpp文件中的函數定義都加上extern "c"前綴,就可以編譯成C可鏈接的庫。如果你只有cpp的庫文件,沒有源碼文件的話,沒法處理。
//a.cpp
extern"C"intcpp_func(){return0;}
//b.c
#include<stdio.h>
intcpp_func();
intmain(){
printf("%d ",cpp_func());
return0;
}
//***compileandlink***
//g++a.cpp-oa.o
//gccb.c-ob.o
//g++a.ob.o-oa.out&&./a.out
Ⅳ C語言helloworld程序需要連接哪些庫啊,
這么說吧. 如果你使用printf來列印hello world 那麼#include <stdio.h> 這句話,其實是可以省略的.編譯器也會自動幫專你加上. 依舊能編譯通屬過,並且輸出. stdio.h是標準的輸入輸出庫.. printf就是他裡面的一個方法.
還有你如果還想知道那些引入的庫文件對應的什麼東西,這個就沒辦法說了.太多了. C標准庫裡面提供了幾百個方法. 包括字元處理的庫, 輸入輸出庫等等. 多謝謝.多看看api就慢慢熟練了
Ⅳ 用C語言怎麼實現與資料庫的連接
#include<mysql/mysql.h>
#include<stdio.h>
intmain()
{
MYSQL*conn;
MYSQL_RES*res;
MYSQL_ROWrow;
char*server="localhost";//本地連接
char*user="root";//
char*password="525215980";//mysql密碼
char*database="student";//資料庫名
char*query="select*fromclass";//需要查詢的語句
intt,r;
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))
{
printf("Errorconnectingtodatabase:%s ",mysql_error(conn));
}else{
printf("Connected... ");
}
t=mysql_query(conn,query);
if(t)
{
printf("Errormakingquery:%s ",mysql_error(conn));
}else{
printf("Querymade... ");
res=mysql_use_result(conn);
if(res)
{
while((row=mysql_fetch_row(res))!=NULL)
{
//printf("num=%d ",mysql_num_fields(res));//列數
for(t=0;t<mysql_num_fields(res);t++)
printf("%8s",row[t]);
printf(" ");
}
}
mysql_free_result(res);
}
mysql_close(conn);
return0;
}
(5)c語言鏈接庫擴展閱讀
C語言使用注意事項:
1、指針是c語言的靈魂,一定要靈活的使用它:
(1)、指針的聲明,創建,賦值,銷毀等
(2)、指針的類型轉換,傳參,回調等
2、遞歸調用也會經常用到:
(1)、遞歸遍歷樹結構
(2)、遞歸搜索
Ⅵ c語言如何調用dll動態鏈接庫
這是我以前的回答,是個兩數加法的例子,看了就明白了
你的dll不必用h頭文件,你用的是顯式聲明導出函數
vc在顯式聲明函數時會出現與vb不匹配的問題,他會把函數名改了,你必須用隱式聲明,就是def文件聲明才可以。
你的cpp里直接寫
int __stdcall add(int a, int b)
{
return (a+b);
}
然後再在工程里添加一個文本文件,注意,文件名是 makedll(如果不對就是工程名).def
裡面寫
LIBRARY makedll
EXPORTS
add @1
然後保存
編譯、連接
得到的dll就是vb可以調用的了
vb里呢,不用怎麼改
如下
Public Declare Function add Lib "makedll.dll" (ByVal a As Integer,ByVal b As Integer) As Integer
Private Sub Command1_Click()
Dim c As Integer
c = add(1, 2)
MsgBox c
End Sub
這有就應該沒問題了
Ⅶ C語言怎麼使用動態鏈接庫,如何創建(高手進)
去網上下一個MFC42.DLL或者從備份的系統中中提取一個,然後復制到C:\WINDOWS\SYSTEM32\中如果是2K那就放在C:\WINNT\SYSTEM32中如果不行:可以運行regedit,打開注冊表編輯器定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs在右邊創建一個字元串值,命名稱為MFC42,數值數據為MFC42.DLL關閉注冊表編輯器,重新啟動計算機即可
Ⅷ C語言可以編寫動態鏈接庫嗎
完全可以
Ⅸ c語言怎麼編寫動態鏈接庫
編寫動態鏈接庫的過程
其實和編寫普通C程序差不多少
只不過
把一個整體的C程序,摘回出來一部答分, 放在獨立的一個或者幾個C文件中
再把這些C文件打包成dll或者so文件而已。
所以寫法上沒有特別的
需要注意的是編譯。
如果是windows,最好用IDE,創建的時候選動態鏈接庫
如果是gcc, 那麼編譯的時候 增加編譯選項 -fPIC -shared即可。
Ⅹ 哪些C語言書有製作動態鏈接庫內容
動態鏈接庫的就涉及到是哪個平台,如果是windows平台,建議用vs的工具。有入門級的說明,自己去摸索吧