linux下用c语言实现与mysql的连接!!

usr_src 2009-07-19 12:42:13
在做学生信息管理系统~~!麻烦高手指点如何用c语言连接mysql数据库~~!!多谢!!~~
...全文
157 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
nlylidb 2009-07-19
  • 打赏
  • 举报
回复

const char* MysqlHost = "localhost";
const char* MysqlUser = "root";
const char* MysqlPass = "";
const char* MysqlDB = "mysql";
const char* MysqlTable = "user";
//初始化mysql结构
MYSQL* mysql = mysql_init(NULL);
if (mysql == NULL)
{
fprintf(stderr,"init mysql failed!");
return -1;
}
//连接mysql数据库
mysql = mysql_real_connect(mysql, MysqlHost, MysqlUser, MysqlPass, MysqlDB, 0, NULL, 0);
if (mysql == NULL)
{
fprintf(stderr,"connect to mysql server failed!");
return -1;
}
//存放sql语句
char sql[4096];
sprintf(sql, "select * from %s")", MysqlTable);
//执行mysql语句
int r = mysql_query(mysql, sql);
if (r != 0)
{
fprintf(stderr,"sql query failed!%s", mysql_error(mysql));
}
//后面用fetch_row等函数得到结果,具体的去查手册。


头文件需要mysql.h,可能是#include <mysql/mysql.h>
编译时需要连接mysqlclient库,使用-lmysqlclient
usr_src 2009-07-19
  • 打赏
  • 举报
回复
我擦!!!我发现思路基本上是一样的~~!被你说中了~~!!只是很小的差别~~!影响不大!!~~还是你牛逼~~!!
usr_src 2009-07-19
  • 打赏
  • 举报
回复
那我得抓紧了~~!擦!!
lxb316 2009-07-19
  • 打赏
  • 举报
回复
好,呆会把你试成功的方法都列出来,大家学习学习~~
superbtl 2009-07-19
  • 打赏
  • 举报
回复
数据库看错了 mysql啊 不好意思
usr_src 2009-07-19
  • 打赏
  • 举报
回复
不错不错!!你得那个方法我试验成功了~~!!至于其他方法,我还得去钻研一番~~!看看到底可以成功哪几种~~!!
lxb316 2009-07-19
  • 打赏
  • 举报
回复
刚看了一下Pro*C编程,只是数据库变了,库函数也变了,思想差不多。我没装Oracle数据库~~
lxb316 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 usr_src 的回复:]
回复6楼:只有这个方法了吗??网上似乎有好多种办法啊~~!!
[/Quote]
是的,方法很多,但基本都是这个思想,可能写法上有细微的差别,或者他们用的不是MySQL!
建议看一下C API!
drinker_linux 2009-07-19
  • 打赏
  • 举报
回复
顶,学习学习
lxb316 2009-07-19
  • 打赏
  • 举报
回复
8楼高手,他写个学生管理系统,用的是MySQL,没必要搞那么复杂,看几个常用的C API函数就行了!
usr_src 2009-07-19
  • 打赏
  • 举报
回复
回复6楼:只有这个方法了吗??网上似乎有好多种办法啊~~!!
nlylidb 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 superbtl 的回复:]
引用 5 楼 usr_src 的回复:
引用 3 楼 superbtl 的回复:
pro*c 或者 oci

???????????完全不懂??不了解!!
算是个编程语言了 pro*c跟OCI去GOOGLE搜下吧
不行就system("sqlplus") 这个不知道行不? 行也是馊主意
[/Quote]

话说虽然甲骨文买了sun,但是mysql还没搞进oracle吧……
superbtl 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 usr_src 的回复:]
引用 3 楼 superbtl 的回复:
pro*c 或者 oci

???????????完全不懂??不了解!!
[/Quote] 算是个编程语言了 pro*c跟OCI去GOOGLE搜下吧
不行就system("sqlplus") 这个不知道行不? 行也是馊主意
lxb316 2009-07-19
  • 打赏
  • 举报
回复
上面有三个头文件需要包含,在Linux下你可以找到这些头文件,包含就行了~~
lxb316 2009-07-19
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"/usr/include/mysql/mysql.h" /*此处对应相应文件的具体位置,根据具体情况而定,下两行同此*/
#include "/usr/include/mysql/mysql_version.h"
#include "/usr/include/mysql/errmsg.h"
MYSQL*stumysql;
int main()
{
stumysql=mysql_init(NULL); /*实现数据库连接*/
if(mysql_real_connect(stumysql,"localhost","root","123456","student",0,NULL,0))
{
printf("Connect Successfully!数据库连接成功!\n");
}
else
{
printf("Connect Failed!数据库连接失败!\n");
}
mysql_close(stumysql); /*关闭数据库*/
}
//////////////////////////////////////////////////////////////////////////////////////
将上面的文件保存为mysqlconnect.c
执行编译命令:gcc -o mysqlconnect mysqlconnect.c -L/usr/lib/mysql/ -lmysqlclient -lz
然后运行(./mysqlconnect)即可。
至于什么插入、删除、查询就是sql语句的问题了
这里有例子:http://blog.csdn.net/lxb316/archive/2009/07/18/4358902.aspx
usr_src 2009-07-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 superbtl 的回复:]
pro*c 或者 oci
[/Quote]
???????????完全不懂??不了解!!
usr_src 2009-07-19
  • 打赏
  • 举报
回复
麻烦一楼的说的再详细些~~!!编译是怎么操作的???头文件该如何取??多谢~~!!
superbtl 2009-07-19
  • 打赏
  • 举报
回复
pro*c 或者 oci
pridesnow 2009-07-19
  • 打赏
  • 举报
回复
学习ing

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧