C语言访问MySQL 用C来访问本机上的MySQL数据库是否必须在机器上启动MYSQL服务?然后再用连接函数来连接这个数据库?像其它数据一样用ODBC来访问? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果我给客户写一个把信息存在MYSQL数据库中的程序,不至于让客户安装一个MYSQL程序吧希望像ACCESS那样,只要有一个.mdb文件就行了。 刚刚查了一下,好像必须得装什么驱动之类的。如果是在Linux下,上面的问题如何解决?也有相关驱动要装吗?还是必须要启动MYSQL服务? 必须启动mysql服务想要mdb那种文件级的,建议你用下sqlite。 必须启动mysql服务想要mdb那种文件级的,建议你用下嵌入式MySQL #include <stdio.h>#include <stdlib.h>#include "/usr/local/mysql/include/mysql/mysql.h" /*注意哦,上面必须是mysql.h的绝对地址,一般在mysql下的include目录下,仔细看看你的在哪里?*/int main(int argc, char *argv[]) {MYSQL my_connection;int res;mysql_init(&my_connection); /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/if (mysql_real_connect(&my_connection, "localhost", "root", "","cusemysql",0,NULL,CLIENT_FOUND_ROWS)) { printf("Connection success\n"); res = mysql_query(&my_connection, "insert into children values(10,'Ann',5)"); if (!res) { printf("Inserted %lu rows\n",(unsigned long)mysql_affected_rows(&my_connection));/*里头的函数返回受表中影响的行数*/ } else { //分别打印出错误代码及详细信息 fprintf(stderr, "Insert error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); } mysql_close(&my_connection);} else { fprintf(stderr, "Connection failed\n"); if (mysql_errno(&my_connection)) { fprintf(stderr, "Connection error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); }} return EXIT_SUCCESS;}/////////////////////////////////////////////代码写完了,要编译哦#gcc -o insert insert.c -L /usr/local/mysql/lib/mysql/*.a -lz http://blog.csdn.net/hzhxxx/archive/2006/12/14/1443031.aspx 服务是必须要启动的,因为你的是客户端程序。用C来访问,可以是C-api,也可以是ODBC api。按照你个人喜好。 \MySQL Server 5.5 主从同步报错unknown variable 'master-host=192.168.8.111' mysql优化写论文,从哪几方面入手啊? mysql + ssh Mysql 怎样在日志中记录IP 怎么对一个表中的某些行进行group by(分类)查询? hibernate 连接mysql问题! MYSQL搜索是用LIKE还是REGEXP red hat 8.0下安装mysql出问题了。。。 多表合并问题,求解决 用java连接mysql为什么连接不上啊? 如何导入frm文件至MySql数据库 XP系统SQL安装时出现安装程序配置服务器失败
希望像ACCESS那样,只要有一个.mdb文件就行了。
想要mdb那种文件级的,建议你用下sqlite。
想要mdb那种文件级的,建议你用下嵌入式MySQL
#include <stdlib.h>
#include "/usr/local/mysql/include/mysql/mysql.h"
/*注意哦,上面必须是mysql.h的绝对地址,一般在mysql下的include目录下,仔细看看你的在哪里?*/int main(int argc, char *argv[])
{
MYSQL my_connection;int res;mysql_init(&my_connection); /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/
if (mysql_real_connect(&my_connection, "localhost", "root", "","cusemysql",0,NULL,CLIENT_FOUND_ROWS))
{
printf("Connection success\n");
res = mysql_query(&my_connection, "insert into children values(10,'Ann',5)"); if (!res)
{
printf("Inserted %lu rows\n",(unsigned long)mysql_affected_rows(&my_connection));
/*里头的函数返回受表中影响的行数*/
}
else
{
//分别打印出错误代码及详细信息
fprintf(stderr, "Insert error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
}
mysql_close(&my_connection);
} else
{
fprintf(stderr, "Connection failed\n"); if (mysql_errno(&my_connection))
{
fprintf(stderr, "Connection error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
/////////////////////////////////////////////
代码写完了,要编译哦
#gcc -o insert insert.c -L /usr/local/mysql/lib/mysql/*.a -lz
http://blog.csdn.net/hzhxxx/archive/2006/12/14/1443031.aspx
用C来访问,可以是C-api,也可以是ODBC api。按照你个人喜好。