总结MySQL 的C语言接口使用

来源:互联网 发布:像素画软件 编辑:程序博客网 时间:2024/05/17 09:03

1. 代码模板

<pre name="code" class="cpp">MYSQL *mycon;MYSQL _RES *result;MYSQL_ROW row;
char query[100];mycon=mysql_init(NULL);if(!mysql_real_connect(mycon,"localhost","root","password","dbname",0,NULL,0)){     fprintf(stderr,"%d,:%s\n",mysql_errno(mycon),mysql_error(mycon));     return 1;}
strcpy(query,"...");//填写查询语句if( mysql_query(mycon,query) ){    fprintf(stderr,"error  %d\n", mysql_errno(mycon),mysql_error(mycon));}else{    result=mysql_store_result(mycon);   //!!!这句不可少    M=mysql_num_rows(result);    while(row=mysql_fetch_row(result)) //将查询结果存到变量中    {          //赋值           .......=row[i]      }}msql_free_result(result);mysql_close(mycon);


2. 填查询语句遇到的问题

由于查询语句是字符串形式,所以,想要查询 int m; m=... ;   select ......       xxx.cid=m    这种情况时,需要用到字符串拼接。代码如下:

strcpy(query,"select ... ...where xxx.cid=");itoa( m,str,10);strcat(query,str);

3. 可以以 时间戳的形式查询时间

select Unix_timestamp(event.timestamp) from ...
Unix_timestamp() 可以得到从1970年到当前的时间的秒数。


4.一个程序中,需要多次查数据库,若每次都用 mycon可能报错, MySQL error 1064......数据库已连接 。。。或者句柄。。。。。

我更换了 mycon,新定义mycon1就好了。result 也同样。

原因我还没弄清楚。




0 0
原创粉丝点击