本文使用c語言來對sql server資料庫進行操作,實現通過程式來對資料庫進行增刪改查操作。
作業系統:windows 10 實驗平台:vs2012 + sql server 2008
odbc簡介:開放資料庫連線(open database connectivity,odbc),主要的功能是提供了一組用於資料庫訪問的程式設計介面,其主要的特點是,如果應用程式使用odbc做資料來源,那麼這個應用程式與所使用的資料庫或資料庫引擎是無關的,為應用程式的跨平台和可移植奠定了基礎。
建立odbc資料來源:控制面板——管理工具——odbc資料來源(32位)
可以看到,這裡存在三種型別的dsn(資料來源名),其中:
使用者dsn程式設計客棧:只允建立該dsn的使用者使用該資料來源;
系統dsn:所有登陸該伺服器的使用者都能使用該資料來源;
檔案dsn:配置資訊儲存在檔案中,所有登陸的使用者均可使用;
在本實驗中,採用系統dsn:
點選新增,然後選擇sql server
然後輸入資料來源的名稱和所在伺服器,我們的資料庫是安裝在本機上的。
選擇以sql server使用者的方式進行驗證,下圖所示:
這裡可以設定預設連線的資料庫,保持不變,使用master作為預設的資料庫。
然後點選下一步,然後完成,完成後可以測試一下。
這就完成了odbc資料來源的建立。
程式測試,資料庫中已包含乙個叫做stu_info的資料庫,且其中有一張student的學生資訊表,其包含的字段資訊如下:
程式設計如下
#include
#include
#include
#include
#include
int main()
ret=sqlallochandle(sql_handle_stmt,hdbc,&hstmt);
/*執行sql語句*/
sqlchar sql1="use stu_info";
sqlchar sql2="select * from student";
ret=sqlexecdirect(hstmt,sql1,sql_nts);
ret=sqlexecdirect(hstmt,sql2,sql_nts);
if(ret==sql_success || ret==sql_success_with_info) }
sqlfreehandle(sql_handle_dbc,hdbc);//釋放連線控制代碼
sqlfreehandle(sql_handle_env,henv);//釋放環境句程式設計客棧柄
return 0;
}需要說明的是,在多數環境中,**會報錯,報錯資訊如下:(sqlchar*)無法與(sqlwchar*)相容,於是有人可能會想到,直接強轉為(sqlwchar*),但是依然在sqlconnect函式處報錯,無法連線上資料庫,這時需要修改字符集,配置為多位元組字符集,操作如下:
C語言中移位操作
先要了解一下c語言裡所有的位運算都是指二進位制數的位運算。即使輸入的是十進位制的數,在記憶體中也是儲存為二進位制形式。用法 格式是 a 0。功能 將整型數a按二進位制位向左移動m位,高位移出後,低位補0。用法 格式是 a m,a和m必須是整型表示式,要求m 0。功能 將整型數a按二進位制位向右移動m...
C語言中位操作
0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1.不改變其他位的值的狀況下,對某幾個位進行設值。先對需要設定的位用 操作符進行清零操作,然後用 操作符設值。比如我要改變 gpioa 的狀態,可以先對暫存器的值進行 清零操作 gpioa crl 0xf...
C語言中的移位操作
c語言中的移位操作,內容不多。不過有些地方你不注意,就疏忽了。先做兩個小題先。1 unsigned char x 3 x 1是多少?x 1是多少?2 char x 3 x 1是多少?x 1是多少?3 char x 3 x 1是多少?x 1是多少?3寫成二進位制數是00000011 3寫成二進位制數是...