導航:首頁 > 編程語言 > linuxc資料庫編程

linuxc資料庫編程

發布時間:2022-09-03 20:29:16

1. linux下C語言編程。有一個資料庫.dat文件。我負責更新,求代碼。非正式項目,只是一次作業。

我提供點思路吧:
1. 針對你的客戶端查詢資料庫看是否需要更新,我覺得這是不需要的,你只需要把客戶端從控制台得到的數據(j街道號,街道數和岔路口數)通過socket傳到伺服器就行了
2.伺服器得到客戶端的數據後從資料庫判斷是添加還是更新,並對資料庫做出相應的操作
3.你需要2個程序,A程序為客戶端,有2個線程,一個用來讀取控制台數據,一個用來把讀到的數據通過socket客戶端傳到伺服器端;B程序也需要2個線程,一個用來接收客戶端傳來的數據,另一個對接收到數據和資料庫進行相應的比較並做出相應的操作

2. linux下用c語言操作mysql資料庫。

不好意思,沒看見標題,我寫的是
腳本語言
我把你說的buff當成一個文件了
ID=`sed
-n
'1p'
buff
|
awk
'{printf
$1}'`
NAME=`sed
-n
'1p'
buff
|
awk
'{printf
$2}'`
SCORE=`sed
-n
'1p'
buff
|
awk
'{printf
$3}'`
mysql_query(conn_ptr,"INSERT
INTO
student(id,name,score)
values('$ID','$NAME','$SCORE')");

3. 關於linux下用C語言編程,往mysql資料庫里存數據問題。求高人指教

int a;
char c[16];
char sql[128];

a=112;
b="Anv";
memset(sql, 0, sizeof(sql));
sprintf(sql, "insert into b values(%d,'%s')",a,b);
res = mysql_query(&my_connection,sql);

4. linux下用C語言編程鏈接資料庫

yes it can

5. 如何在Linux下用C語言操作資料庫sqlite3

下面我們看看怎麼在C語言中向資料庫插入數據。
好的,我們現編輯一段c代碼,取名為 insert.c
// name: insert.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/18
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define _DEBUG_
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 ! ^-^
");
//創建一個表,如果該表存在,則不創建,並給出提示信息,存儲在 zErrMsg 中
char *sql = " CREATE TABLE SensorData(
ID INTEGER PRIMARY KEY,
SensorID INTEGER,
SiteNum INTEGER,
Time VARCHAR(12),
SensorParameter REAL
);" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
#ifdef _DEBUG_
printf("%s
",zErrMsg);
#endif
//插入數據
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011206', 18.9 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sql = "INSERT INTO "SensorData" VALUES( NULL , 1 , 1 , '200605011306', 16.4 );" ;
sqlite3_exec( db , sql , 0 , 0 , &zErrMsg );
sqlite3_close(db); //關閉資料庫
return 0;
}

好的,將上述代碼寫入一個文件,並將其命名為 insert.c 。
解釋:
sqlite3_exec的函數原型說明如下:
int sqlite3_exec(
sqlite3*,
const char *sql,
sqlite_callback,
void *,
char **errms

g
);

編譯
[root@localhost temp]# gcc insert.c -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include
insert.c:28:21: warning: multi-line string literals are deprecated
[root@localhost temp]#
執行
[root@localhost temp]# ./a.out
./a.out: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory
[root@localhost temp]#
同樣的情況,如上文處理方法:
[root@localhost temp]# export LD_LIBRARY_PATH=/usr/local/sqlite3/lib:$LD_LIBRARY_PATH
[root@localhost temp]# ./a.out
You have opened a sqlite3 database named zieckey.db successfully!
Congratulations! Have fun ! ^-^
(null)
(null)
(null)
[root@localhost temp]#
運行成功了,好了,現在我們來看看是否插入了數據
[root@localhost temp]# /usr/local/sqlite3/bin/sqlite3 zieckey.db
SQLite version 3.3.8
Enter ".help" for instructions
sqlite> select * from SensorData;
1|1|1|200605011206|18.9

2|1|1|200605011306|16.4
sqlite>

6. 如何在Linux下用C/C++語言操作資料庫sqlite3

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 這是個沒有找到庫文件的問題。 下面我們著手解決這些問題。

7. 如何在Linux下用C語言操作資料庫sqlite3.pdf

具體步驟是:

  1. 下載 sqlite3 的源碼,好像是 sqlite3.h sqlite3_ext.h 以及 sqlite3.cc

  2. 可以將源碼編譯成庫(靜態庫或者動態庫),或者直接嵌入到工程中參與編譯

資料庫操作的一般流程是:

sqlite3_open()/sqlite3_open_v2() 創建/打開一個資料庫

sqlite3_prepare_v2() 實例化一個 sql statement

sqlite3_bind_XXX()綁定參數

sqlite3_step() 執行 SQL 語句

sqlite3_finalize() 析構 sql statement

sqlite3_close()關閉資料庫


8. 我在linux 下用 c語言編程,在鏈接mysql 資料庫時需要導入libmysqclient.a,....so,_r.a,_r.so這四個文件。

在shell命令輸入或者在腳本里加入以下命令:
PATH=路徑1:路徑2:$PATH
export PATH

註:路徑1,路徑2是執你所需庫文件所在的路徑,中間用冒號隔開。例如
PATH=/opt/arm-eabi-4.4.3/bin:/opt/jdk1.6.0_23/bin:$PATH
export PATH

這時再編譯試試

9. 到底怎麼在Linux里編寫c程序啊

建議你使用gcc,linux下也有像vc的可視化開發工具如:Qt,Eclipse,Codeblock,一般gcc比較方便,屬於命令行,可以編譯C,C++,具體是:
第一步:打開終端,隨便進入一個文件夾用於存放你編寫的程序

#cd
/home/usr/workspace

#vi
Hello.c

接著你就會看到vi編輯器,按I開始輸入,接著輸入你的代碼,

輸完後按Esc,再輸入":wq"(引號內)保存退出,

好,現在你已經用vi編輯好了你程序。
第二步:用gcc編譯你的程序

在終端輸入

#gcc
-o
hello
hello.c

編譯完成後,在你的文件中出現一個hello運行文件。
第三步:運行編譯好到hello文件,在終端輸入

#./hello

到這一步你的程序開始運行了。
在這里只能簡單介紹了,你自己再看看,希望對你有幫助。

10. 怎麼在linux下用c語言簡單操作資料庫

兩種方法,一是自己設計表格式,並存儲在相應文件中,然後讀取;
第二種,利用已有的第三方哈希表資料庫,比如qdbm,具體的編程可以參考相應資料庫的幫助文檔

閱讀全文

與linuxc資料庫編程相關的資料

熱點內容
體驗服為什麼伺服器會關閉 瀏覽:39
酒店命令 瀏覽:750
中走絲線切割編程視頻 瀏覽:78
衣服壓縮袋手泵原理 瀏覽:714
通達信編程書籍 瀏覽:981
車用壓縮天然氣瓶閥 瀏覽:971
鞋的程序員 瀏覽:259
車的壓縮比是什麼意思 瀏覽:202
網站源碼怎麼傳到文件夾 瀏覽:914
海南壓縮機在哪裡 瀏覽:491
電腦文件夾清晰的文件結構 瀏覽:839
如何把蘋果手機的app轉到安卓 瀏覽:305
java同步並發 瀏覽:249
fw壓縮圖片 瀏覽:258
淘寶申請源碼靠譜嗎 瀏覽:874
androidupdater 瀏覽:635
c2d游戲源碼大全可復製版 瀏覽:771
電腦怎樣重置網關命令 瀏覽:411
winftplinux 瀏覽:335
推特app界面如何設置成中文 瀏覽:452