csqlite創建資料庫
用sqlITE吧,像ACCESS.你可以去www.sqlite.org那裡下載類庫.頭文件.以及管理工具.
2. 如何在linux下用C/C++語言操作資料庫sqlite3
0. 引言 我們這篇文章主要講述了如何在C/C++語言中調用 sqlite 的函數介面來實現對資料庫的管理, 包括創建資料庫、創建表格、插入數據、查詢數據、刪除數據等。 1. 說明 這里我們假設你已經編譯好了sqlite的庫文件 : libsqlite3.a libsqlite3.la libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 pkgconfig 和可執行文件 : sqlite3 我們再假設你的sqlite3的安裝目錄在 /usr/local/sqlite3 目錄下。 如果不是,我們可以這樣做,將你的安裝文件復制到 /usr/local/sqlite3 這個目錄, 這樣我們好在下面的操作中更加統一,從而減少出錯的概率 例如:[root@localhost home]# cp -rf sqlite-3.3.8-ix86/ /usr/local/sqlite3 這里假設 /home/sqlite-3.3.8-ix86/ 是你的安裝目錄,也就是說你的sqlite原來就是安裝在這里 這樣之後,我們的sqlite3的庫文件目錄是:/usr/local/sqlite3/lib 可執行文件 sqlite3 的目錄是: /usr/local/sqlite3/bin 頭文件 sqlite3.h 的目錄是: /usr/local/sqlite3/include 好拉,現在開始我們的Linux下sqlite3編程之旅。 2. 開始 這里我們現在進行一個測試。 現在我們來寫個C/C++程序,調用 sqlite 的 API 介面函數。 下面是一個C程序的例子,顯示怎麼使用 sqlite 的 C/C++ 介面. 資料庫的名字由第一個參數取得且第二個參數或更多的參數是 SQL 執行語句. 這個函數調用sqlite3_open() 在 16 行打開資料庫,並且sqlite3_close() 在 25 行關閉資料庫連接。 [root@localhost temp]# vi opendbsqlite.c 按下i 鍵切換到輸入模式,輸入下列代碼:// name: opendbsqlite.c // This prog is used to test C/C++ API for sqlite3.It is very simple,ha! // Author : zieckey All rights reserved. // data : 2006/11/13 #include <stdio.h> #include <sqlite3.h> int main( void ) { sqlite3 *db=NULL; char *zErrMsg = 0; int rc; //打開指定的資料庫文件,如果不存在將創建一個同名的資料庫文件 rc = sqlite3_open("zieckey.db", &db); if( rc ) { fprintf(stderr, "Can't open database: %s ", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } else printf("You have opened a sqlite3 database named zieckey.db successfully! Congratulations! Have fun ! ^-^ "); sqlite3_close(db); //關閉資料庫 return 0; } 退出,保存。(代碼輸入完成後,按下 Esc 鍵,然後輸入: :wq ,回車就好拉) 好拉,現在編譯:[root@localhost temp]# gcc opendbsqlite.c -o db.out 或者遇到這樣的問題:[root@localhost temp]# gcc opendbsqlite.c -o db.out opendbsqlite.c:11:21: sqlite3.h: 沒有那個文件或目錄 opendbsqlite.c: In function `main': opendbsqlite.c:19: `sqlite3' undeclared (first use in this function) opendbsqlite.c:19: (Each undeclared identifier is reported only once opendbsqlite.c:19: for each function it appears in.) opendbsqlite.c:19: `db' undeclared (first use in this function) 這是由於沒有找到頭文件的原因。 也許會碰到類似這樣的問題:[root@localhost temp]# gcc opendbsqlite.c -o db.out /tmp/ccTkItnN.o(.text+0x2b): In function `main': : undefined reference to `sqlite3_open' /tmp/ccTkItnN.o(.text+0x45): In function `main': : undefined reference to `sqlite3_errmsg' /tmp/ccTkItnN.o(.text+0x67): In function `main': : undefined reference to `sqlite3_close' /tmp/ccTkItnN.o(.text+0x8f): In function `main': : undefined reference to `sqlite3_close' collect2: ld returned 1 exit status 這是個沒有找到庫文件的問題。 下面我們著手解決這些問題。 由於用到了用戶自己的庫文件,所用應該指明所用到的庫,我們可以這樣編譯: [root@localhost temp]# gcc opendbsqlite.c -o db.out -lsqlite3 我用用 -lsqlite3 選項就可以了(前面我們生成的庫文件是 libsqlite3.so.0.8.6 等, 去掉前面的lib和後面的版本標志,就剩下 sqlite3 了所以是 -lsqlite3 )。 如果我們在編譯安裝的時候,選擇了安裝路徑,例如這樣的話:....... # ../sqlite/configure --prefix=/usr/local/sqlite3 # make .......作者:zieckey
3. C語言中如何做資料庫
你是要開發一個資料庫還是用c語言來編寫訪問資料庫的應用
4. 如何創建sqlite資料庫
上次剛接觸SqlLite,不知道怎麼創建資料庫,現在做下總結:
界面和MYSQL一樣,都是CMD界面,但不是在SQLite.exe中創建資料庫:
首先還是說一下cmd下sqlite的使用網上已經很多了、不做過多的贅述。大致說一下相應的命令就行了、作為學習sqlite的一個記錄
1:選擇下載對應自己系統的sqlite.3exe文件
2:解壓後使用cmd命令進入sqlite3.exe文件所在的路徑執行命令就可以操作做相應的操作。
在進入資料庫之後如果需要退出的話windows下摁ctrl+c就能退出
例如:
創建資料庫命令:sqlite3.exe【資料庫名字.後綴名】
這里比較牛一點的感覺就是創建的資料庫後綴名是任意的、不過注意一點就是:在命令框下執行創建資料庫的時候。
如果沒有為資料庫創建表格、則看不見資料庫文件,所以必須創建表格。
例如:在CMD命令提示符下輸入sqlite3.exetest.db(test.db是資料庫名)回車,執行完後,命令提示符自動跳轉
到"SQLITE>"狀態。這時還是看不到這個資料庫!等表格創建或關閉sqlite3
例如:createtableuser(』用戶名『);這時可以看到sqlite3.exe所在文件夾下的這個資料庫文件了
如果下次還要使用此資料庫時仍然使用sqlite3.exetest.db即可進入此資料庫
創建表格命令:createtabletablename(欄位,欄位)
這里從命令上可以清楚的看到、在sqlite資料庫中創建表格欄位的時候、允許不為欄位申明數據類型。
這是區別於其它關系型資料庫的。
執行插入命令:insertintotablenamevalues(value,values)在、前面我們可以看出、sqlite的操作上和
sqlserver沒什麼太大區別、值得注意的是、insert時區別於sqlserver中、因為sqlserver中允許使用
"inserttablenamevalues(value,value)"這樣的省略式擦入。但是sqlite中是不允許使用省略式插入語句的。
執行刪除語句:deletefromtablenamewhere<條件>
刪除數據語法和sqlserver相同、
刪除表則命令為:droptabletablename
數據更新命令:updatetablenameset欄位=值如果需要條件的話、添加上where語句。
執行查詢語句:select*fromtablename可跟隨where語句
以上就是基礎的sqlite的增刪查改語法和命令。
5. 用c語言建立一個文件型資料庫
可以看看Sqlite源碼,就是用C語言寫的文件型資料庫,很火的嵌入式資料庫。
具體的你上他們的網站看吧。
6. 用C語言做個sqlite資料庫~
寫個倆個鏈表,添加些鏈表建立,插入,刪除,排序,查找,列印等函數,就是對鏈表的操作。思路就是這樣。寫程序是體力活,自己動吧
7. SQLITE資料庫C語言API 想使當資料庫不存在時 sqlite3_open 不創建資料庫
改用sqlite3_open_v2函數打開
int sqlite3_open_v2(const char *filename, sqlite3 **ppDb, int flags,const char *zVfs);
前兩個參數與sqllite3_open一樣,flags設置為SQLITE_OPEN_READWRITE,如果資料庫不存在就不創建,只返回一個error
參數zVfs允許應用程序命名一個虛擬文件系統(Virtual File System)模塊,用來與資料庫連接。VFS作為SQlite library和底層存儲系統(如某個文件系統)之間的一個抽象層,通常客戶應用程序可以簡單的給該參數傳遞一個NULL指針,以使用默認的VFS模塊。
8. sqlite3中用c語言寫資料庫的時候,假如我建立一個學生信息庫時候,在現查詢功能時,如果沒有這個
select * from yourtabel where xuehao = yournum
不存在 會返回空
9. linux下C語言操作sqlite資料庫的問題
拜託 char *sql = " CREATE TABLE SensorData(ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);" ;
這里是你的sql聲明處
隱式的轉換位const char *sql
你後面又對sql進行賦值 也就是對.rodata段進行寫操作 不段錯誤才怪
想要用原么分配一個大點的buff char sql[512];
要麼動態分配(沒必要)
10. 怎麼查看自己創建的sqlite資料庫
假設資料庫存放在C盤根目錄下,名為db1.db,則運行cmd,然後
輸入 c:
輸入 cd \
輸入sqlite3 db1.db