當前位置:首頁 » 操作系統 » c資料庫開發教程

c資料庫開發教程

發布時間: 2022-05-31 04:40:59

c語言怎麼做網路和資料庫編程

使用ODBC進行資料庫編程。
1、配置ODBC數據源
2、使用sql函數進行連接。

Ⅱ 用C語言如何對MySQL資料庫進行操作

里的大部分代碼參考了MySQL發行包裡面的.c源文件,大家也可以去裡面找找相關的代碼,下面這段代碼實現了連接到本地MySQL伺服器上9tmd_bbs_utf8資料庫,從數據表tbb_user中根據輸入的userid取得該用戶的用戶名並列印輸出到終端。
if defined(_WIN32) || defined(_WIN64)為了支持windows平台上的編譯
#include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include "mysql.h"

我的機器上該文件在/usr/local/include/mysql下
定義MySQL資料庫操作的宏,也可以不定義留著後面直接寫進代碼
define SELECT_QUERY "select username from tbb_user where userid = %d" int main(int argc, char **argv)char **argv 相當於 char *argv[] {

MYSQL mysql,*sock;定義資料庫連接的句柄,它被用於幾乎所有的MySQL函數
MYSQL_RES *res;查詢結果集,結構類型
MYSQL_FIELD *fd ;包含欄位信息的結構
MYSQL_ROW row ;存放一行查詢結果的字元串數組
char qbuf[160];存放查詢sql語句字元串
if (argc != 2) { //檢查輸入參數 fprintf(stderr,"usage : mysql_select <userid>\n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,"localhost","dbuser","dbpwd","9tmd_bbs_utf8",0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields returned: %d\n",mysql_num_fields(res)); while (row = mysql_fetch_row(res)) { printf("Ther userid #%d 's username is: %s\n", atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0])) ; puts( "query ok !\n" ) ; } mysql_free_result(res); mysql_close(sock); exit(0); return 0;

為了兼容大部分的編譯器加入此行
}
編譯的時候,使用下面的命令
gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 後面兩個選項可選,根據您的環境情況運行的時候,執行下面的命令
./mysql_select 1
將返回如下結果:
number of fields returned: 1 Ther userid #1 's username is: Michael query ok !

上面的代碼我想大部分都能看明白,不明白的可以參考一下MySQL提供的有關C語言API部分文檔,各個函數都有詳細說明,有時間我整理一份常用的API說明出來。

Ⅲ 怎麼用C語言結合數據結構的知識來實現資料庫的功能,代碼怎麼設計和編寫

用數據結構組織起來就是簡單的資料庫了,無非就是插入刪除修改之類的功能

你說的那些資料庫語句,可以用簡單的字元串匹配來做
如: strcmp 匹配"Create table"這個字元串 對接下來字元進行提取,直到"(" 以後的關鍵字元也是用類似方法判斷","等實現
提取了需要的關鍵字元之後就可以進行對應的傳參,調用相應操作

Ⅳ 求C語言編程全套視頻教程!有的說下!

114 編程(更新)

鏈接: https://pan..com/s/1bfrvxnsc5KJgKr32rnNNtg

?pwd=mp1i 提取碼: mp1i

程序化思維

編程

Ⅳ 開發一個完整的資料庫系統具體的流程是什麼

一:表中應該避免可為空的列; 二:表不應該有重復的值或者列; 三: 表中記錄應該有一個唯一的標識符 在資料庫表設計的時候,資料庫管理員應該養成一個好習慣,用一個ID號來 唯一的標識行記錄,而不要通過名字、編號等欄位來對紀錄進行區分。每個表都應該有一個ID列,任何兩個記錄都不可以共享同一個ID值。另外,這個ID值最 好有資料庫來進行自動管理,而不要把這個任務給前台應用程序。否則的話,很容易產生ID值不統一的情況。 另外,在資料庫設計的時候,最好還能 夠加入行號。如在銷售訂單管理中,ID號是用戶不能夠維護的。但是,行號用戶就可以維護。如在銷售訂單的行中,用戶可以通過調整行號的大小來對訂單行進行 排序。通常情況下,ID列是以1為單位遞進的。但是,行號就要以10為單位累進。如此,正常情況下,行號就以10、20、30依次擴展下去。若此時用戶需 要把行號為30的紀錄調到第一行顯示。此時,用戶在不能夠更改ID列的情況下,可以更改行號來實現。如可以把行號改為1,在排序時就可以按行號來進行排 序。如此的話,原來行號為30的紀錄現在行號變為了1,就可以在第一行中顯示。這是在實際應用程序設計中對ID列的一個有效補充。這個內容在教科書上是沒 有的。需要在實際應用程序設計中,才會掌握到這個技巧。 四:資料庫對象要有統一的前綴名 一個比較復雜的應用系統,其對應的資料庫表往往以千計。若讓資料庫管理員看到對象名就了解這個資料庫對象所起的作用,恐怕會比較困難。而且在資料庫對象引用的時候,資料庫管理員也會為不能迅速找到所需要的資料庫對象而頭疼。 為此,筆者建立,在開發資料庫之前,最好能夠花一定的時間,去制定一個資料庫對象的前綴命名規范。如筆者在資料庫設計時,喜歡跟前台應用程序協商,確定 合理的命名規范。筆者最常用的是根據前台應用程序的模塊來定義後台資料庫對象前綴名。如跟物料管理模塊相關的表可以用M為前綴;而以訂單管理相關的,則可 以利用C作為前綴。具體採用什麼前綴可以以用戶的愛好而定義。但是,需要注意的是,這個命名規范應該在資料庫管理員與前台應用程序開發者之間達成共識,並 且嚴格按照這個命名規范來定義對象名。 其次,表、視圖、函數等最好也有統一的前綴。如視圖可以用V為前綴,而函數則可以利用F為前綴。如此資料庫管理員無論是在日常管理還是對象引用的時候,都能夠在最短的時間內找到自己所需要的對象。 五:盡量只存儲單一實體類型的數據 這里將的實體類型跟數據類型不是一回事,要注意區分。這里講的實體類型 是指所需要描述對象的本身。筆者舉一個例子,估計大家就可以明白其中的內容了。如現在有一個圖書館里系統,有圖書基本信息、作者信息兩個實體對象。若用戶 要把這兩個實體對象信息放在同一張表中也是可以的。如可以把表設計成圖書名字、圖書作者等等。可是如此設計的話,會給後續的維護帶來不少的麻煩。 如當後續有圖書出版時,則需要為每次出版的圖書增加作者信息,這無疑會增加額外的存儲空間,也會增加記錄的長度。而且若作者的情況有所改變,如住址改變 了以後,則還需要去更改每本書的記錄。若這個作者的圖書從資料庫中全部刪除之後,這個作者的信息也就盪然無存了。很明顯,這不符合資料庫設計規范化的需 求。 遇到這種情況時,筆者建議可以把上面這張表分解成三種獨立的表,分別為圖書基本信息表、作者基本信息表、圖書與作者對應表等等。如此設計以後,以上遇到的所有問題就都引刃而解了。

Ⅵ C語言一個簡單資料庫怎麼做

這個要看你的平台的,什麼資料庫,什麼操作系統,什麼開發工具
目前,資料庫基本都支持SQL語言的(LZ的就是SQL語言),而不同的資料庫對C支持的方式也不同
如windwos平台,大部分資料庫都可用ADO
當然,資料庫本身也會提供C語言開發
如oracle,支持pro*c,oci等
先找本資料庫的書看下,明白SQL語言後再參考不同的平台,看下你而要的資料庫的開發方式.

Ⅶ C/C++ 怎麼操作ACCESS資料庫啊

C++利用ado編程,首先要引用一個庫文件
#import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")
然後用AfxOleInit()初始化組件
定義一個_ConnectionPtr 指針,然後利用這個指針打開資料庫字元串,
你去網個看一下,很多教程的
http://hi..com/lninglove/blog/item/3f6cec22959e4ca34723e833.html

Ⅷ 如何用C語言編寫資料庫

可以用來編寫
層次型資料庫
和網狀資料庫
現在美國的幾家大型公司還在用c語言編寫的層次型的資料庫
雖然關系型資料庫使用相當廣泛但是
在一些具體的場合
速度都跟不上去,處理效率不高
同志的用c語言編寫的

你的勇氣可佳
好好乾將來必有前途

Ⅸ c/s結構資料庫如何開發配置

根據你的情況給你如下建議:
1、由於不清楚你用是那個PB版本,因此建議你換用SQL Server 2000,數據管理和零散的查詢業務處理起來很方便。
2、根據你的應用,你的「伺服器」應該就是台PC吧?網路方面沒有什麼特殊的配置要求,但是伺服器必須有固定的IP地址,其他機器能夠ping通伺服器即可。
3、PB寫完的程序其實能夠做分發工具的,但是你的應用而言那樣做成本太高,可能沒必要,寫好的PB程序,直接編譯(注意編譯選項選擇「Full」,並勾選各個PBD文件),而後將你生成的所有EXE、PBD單獨拷貝到一個文件夾下,拷貝到其他機器上就行了。
4、其實你寫的程序,只要連了數據文件(文本文件、Excel、Access等)就是C/S的。很多人都說C/S落伍了,其實倒也未必,關鍵看應用需要,我的單位客戶端數上千,PB+Oracle的C/S構架,應用水平也是業內領先的。至於C端和S端是概念上的,C端就是你的PB程序,S端就是資料庫,單機版無非就是你的機器又當C又當S罷了,數據的通信的介面其實都是統一的。
另外,開發PB資料庫應用給你幾條建議:
1、由於是資料庫應用,因此最有價值的知識是資料庫設計,資料庫設計的核心是邏輯設計,包括識別業務對象、分解業務流程、建立對象關系和索引,說白了就是如何通過各個表和數據把你的業務說明白。舉例來說,對於員工管理你要構建的表可能包括:員工、職位、部門、薪資級別等資源數據表,也有員工分派、薪資發放等業務數據表,你要搞清楚他們之間的關系。這件事要多花些精力做,如果開始沒定好,後面你改一下人員表,可能所有的程序界面和dw都要改,不可輕視。
2、PB開發客戶端之前應當先想好客戶端的配置文件(通常是ini),比如你的「伺服器」有可能遷移(換新的了),將提供服務的地址獨立在ini中,伺服器換了,客戶端改一下ini就行了,例句:sqlca.servername=profilestring("emp_mgmt.ini","database","servername","emp"),具體用法看幫助吧。
3、PB開發的程序主要是在處理數據採集和報表的工作,你應該在數據採集的界面多做一些數據規范性的檢查或約束,例如:郵編是否允許有字母、出生日期是否有下限等,如果開始不考慮,你庫里的數據想出報表非得花了。
4、最後,C/S結構下多台機器的程序麻煩的一點是要靠慮數據並發存儲和訪問的問題,比如你單機時所有的事情都是順序發生的,你輸入張三的員工信息、再輸入李四的員工信息、再修改張三的員工信息、再修改李四的員工信息。但是多客戶端時,事情可能就不是這樣了,有可能你和其他人一起修改張三的員工信息的不同部分,這樣一來同時提交數據就會有問題(PB和資料庫不會讓錯誤發生,但是會有一方數據提交失敗),如果這正問題出現的頻率一高,系統就沒法用了。
5、差不多就先寫這些吧,其實開發工具不重要,PB只是做資料庫應用更方便些,但軟工思想和對資料庫技術的理解決定著你寫的程序的優劣。
最後,多學習、多練習、多上網問,祝你早日成功!

Ⅹ c 語言如何建立資料庫

看你要建什麼資料庫的表了
不過基本上的方法是調用資料庫提供的介面,然後執行建表的語句

熱點內容
網易我的世界四月伺服器維護 發布:2024-05-07 04:24:58 瀏覽:212
gdb調試文件夾 發布:2024-05-07 04:03:25 瀏覽:154
玩5款大型游戲需要什麼配置 發布:2024-05-07 03:59:09 瀏覽:90
什麼安卓游戲畫面炫酷 發布:2024-05-07 03:58:18 瀏覽:73
無錫五洋賽德壓縮機有限公司 發布:2024-05-07 03:28:05 瀏覽:152
安卓手機如何打開qrs 發布:2024-05-07 03:18:31 瀏覽:466
c語言給數組排序 發布:2024-05-07 03:18:30 瀏覽:76
職工個人所得稅登錄密碼是多少 發布:2024-05-07 03:14:22 瀏覽:707
編譯程序組成部分 發布:2024-05-07 03:02:07 瀏覽:97
伺服器怎麼做雙機 發布:2024-05-07 02:37:25 瀏覽:36