linux下gtk中使用C连接mysql
Code:
1.环境配置
一般情况下安装了MySQL的机器很少安装开发包,这个需要注意。也就是您需要在程序中包含这样的语句:
#include <mysql.h>
如果在编译的时候提示含有类似于找不到 mysql.h 的信息,这就说明您没有安装相关开发包。
还有您必须建立一个数据库与一些表,这个在本文中会使用。
2.我们先链接数据库。
/****连接****数据库****/
#include <mysql.h> /*包含文件*/
MYSQL *myconnect = NULL; /*定义一个MYSQL类型的指针,它代表的是MySQL数据库的操作对象*/
GtkWidget *disconnect (void) /*这里是我原先一个程序中用过的函数,并不属于本文重点*/
{
char *user = "root", *pwd = "", *dbname = "test"; /*这里要作适当修改,用数据库用户root,用户密码为空,连接test数据库*/
myconnect = mysql_init(myconnect); /*用函数mysql_init初始化myconnect*/
if (mysql_real_connect (myconnect, "localhost", user, pwd,dbname,MYSQL_PORT,NULL,0)== NULL)
{
error("未能连接上数据库.");
}
/*用函数mysql_real_connect连接数据库,它需要8个参数,与以上对应分别是:1.初始化的MySQL结构,2.所要链接的数据库的IP地址或主机名,3.链接数据库的用户,4.用户口令,5.数据库名,6.端口号,上边的MYSQL_PORT是一个宏,如果一切都是默认的话不用显式定义,7.套接字,一般为NULL,8.这个参数一般为0。当然,并不是8个参数都必须写上,一些参数可以以后再用。*/
}
3.典型操作
插入操作:
gchar query_buf [100]; /*定义一个数组用来存放SQL语句*/
const gchar *username,*passwd,*passwd_ffirm,*email,*email_ffirm;
................/*这里省略对username等的赋值语句*/
sprintf (query_buf,"INSERT INTO Users values (\'%s\',\'%s\',\'%s\',\'%s\')",NULL,username,passwd,email);/*将语句存放在数组query_buf中,我在数据库的Users表中第一个是自动增长的ID,所以第一个需插入NULL。注意:SQL中的单引号等不能直接出现在C语言中,需要用转义字符*/
if (mysql_query (myconnect,query_buf) == 0) /*mysql_query执行函数执行成功返回0*/
{
ok("注册成功.");
}
else
{ error("注册失败!可能是已经存在这个用户名称了。请尝试换一个用户名。"); }
删除等操作类似。
SELECT操作:
MYSQL_RES *sqlres;
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
今天,把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的,而Ubuntu默认是不支持GBK编码的。所以,首先我们要先让Ubuntu支持GBK,方法如下:
1.
修改/var/lib/locales /supported.d/local文件,在文件中添加
z ......
原文地址:http://soft.yesky.com/os/lin/326/2237826.shtml
本文详细地介绍了在 Linux 2.6.13 内核中新引入的文件系统变化通知机制 inotify,并举例说明了它的使用与典型应用案例。
一、引言
众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供 ......
我从数据库动态读取2个父节点:
111
a
a1
b
b1
c
&n ......
C 程序有下面几个部分组成:
1 正文段:这是CPU 执行的机器指令的部分。通常正文段是可以共享的,所以即使是频繁执行的程序(如:文本编辑器)在存储器上也只有一个副本。另外正文段常常是只读的,以防止程序因为意外而修改其自身的指令。
2 初始化数据段:通常将此段称为数据段,它包含了程序 ......