导航:首页 > 编程语言 > 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数据库编程相关的资料

热点内容
霜语服务器有什么用 浏览:449
新上的app怎么可以在gp下载 浏览:403
autocad2012命令 浏览:813
安卓隐私相册怎么转苹果 浏览:337
受限加密 浏览:596
菜单系统编程 浏览:81
努比亚的应用加密手势密码忘了 浏览:397
智合云服务器怎么买 浏览:200
轻量应用服务器怎么做系统 浏览:895
java棋盘代码 浏览:9
linux下备份命令行 浏览:815
自制s7200编程电缆 浏览:530
麦兜pdf 浏览:183
运行单元测试编译失败 浏览:607
ch开头的编程语言 浏览:426
怎么查服务器操作记录 浏览:904
虚幻4源码编译时间 浏览:193
三星主题壁纸文件夹 浏览:92
服务器账号是什么意思 浏览:7
无法连接服务器207是什么意思 浏览:396