使用c语言对mysql进行增删查改
2014-08-11 14:49
323 查看
#include"stdafx.h"
#include<winsock2.h>//这个是必须添加的,不然就会出现102个错误
#include"mysql.h"
#include<my_global.h>
#include<stdio.h>
#include<stdlib.h>
staticMYSQL*conn;
// 连接connection
//初始化函数,主要是进行数据库连接等工作
void init(){
char*server=
"localhost";
// 数据库所在主机的ip
char*user =
"root";
// 数据库的root用户
char*password=
"huachao";
//root用户的密码
char*database=
"test";
// 操作的数据库名
//连接到mysql数据库
conn=mysql_init(NULL);
//根据具体的配置信息链接数据库.
if(!mysql_real_connect(conn , server, user, password, database, 0,
NULL,0)) {
printf("Conection error : %s\n",mysql_error(conn ));
exit(1);
}
}
//通过sql语句进行插入数据
bool insertBySQL(char*str){
/**//*执行插入语句*/
if(mysql_query(conn,str)){
printf("执行插入失败");
returnfalse;
}else{
printf("插入成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
returntrue;
}
}
//通过sql语句来对数据库表进行修改数据
void updateBySQL(char*sql){
/**//*执行插入语句*/
if(mysql_query(conn,sql)){
printf("修改失败");
}else{
printf("修改成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
}
}
//根据sql语句来对数据库表进行查询
void getBySQL(char *sql,intcolNum){
MYSQL_RES *res;
//结果
MYSQL_ROW row;
//结果行(一行一行)
//将查询发送到数据库
if(mysql_query(conn,
sql))
{
printf("MySQL query error : %s\n",mysql_error(conn));
exit(1);
}
res=mysql_use_result(conn);
while((row = mysql_fetch_row(res)) !=NULL)
{
printf("%s\t%s\t%s\n", row[0],row[1],row[2]);
}
mysql_free_result(res);
}
void deleteBySQL(char*sql){
if(mysql_query(conn,sql)){
printf("删除失败");
}else{
printf("删除成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
}
}
int_tmain(intargc,_TCHAR*
argv[])
{
init();
//insertBySQL("insertinto test(name,password) values('hh','22')");
//getBySQL("select* from test",2);
//updateBySQL("updatetest set name='lisi' where id=2");
deleteBySQL("delete from test where id=5");
mysql_close(conn);
getchar();
return0;
}
出现如下错误:
error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用
如果按照之前的步骤还会出现这种错误,可能是因为新建的项目是win32,而操作系统和mysql软件都市64位的,此时如下解决:
右击项目->属性->配置管理器,如图:
然后在“活动解决方案平台”点击下拉,“新建”选择x64即可
#include<winsock2.h>//这个是必须添加的,不然就会出现102个错误
#include"mysql.h"
#include<my_global.h>
#include<stdio.h>
#include<stdlib.h>
staticMYSQL*conn;
// 连接connection
//初始化函数,主要是进行数据库连接等工作
void init(){
char*server=
"localhost";
// 数据库所在主机的ip
char*user =
"root";
// 数据库的root用户
char*password=
"huachao";
//root用户的密码
char*database=
"test";
// 操作的数据库名
//连接到mysql数据库
conn=mysql_init(NULL);
//根据具体的配置信息链接数据库.
if(!mysql_real_connect(conn , server, user, password, database, 0,
NULL,0)) {
printf("Conection error : %s\n",mysql_error(conn ));
exit(1);
}
}
//通过sql语句进行插入数据
bool insertBySQL(char*str){
/**//*执行插入语句*/
if(mysql_query(conn,str)){
printf("执行插入失败");
returnfalse;
}else{
printf("插入成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
returntrue;
}
}
//通过sql语句来对数据库表进行修改数据
void updateBySQL(char*sql){
/**//*执行插入语句*/
if(mysql_query(conn,sql)){
printf("修改失败");
}else{
printf("修改成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
}
}
//根据sql语句来对数据库表进行查询
void getBySQL(char *sql,intcolNum){
MYSQL_RES *res;
//结果
MYSQL_ROW row;
//结果行(一行一行)
//将查询发送到数据库
if(mysql_query(conn,
sql))
{
printf("MySQL query error : %s\n",mysql_error(conn));
exit(1);
}
res=mysql_use_result(conn);
while((row = mysql_fetch_row(res)) !=NULL)
{
printf("%s\t%s\t%s\n", row[0],row[1],row[2]);
}
mysql_free_result(res);
}
void deleteBySQL(char*sql){
if(mysql_query(conn,sql)){
printf("删除失败");
}else{
printf("删除成功,受影响行数:%lu\n",(ulong)mysql_affected_rows(conn));
}
}
int_tmain(intargc,_TCHAR*
argv[])
{
init();
//insertBySQL("insertinto test(name,password) values('hh','22')");
//getBySQL("select* from test",2);
//updateBySQL("updatetest set name='lisi' where id=2");
deleteBySQL("delete from test where id=5");
mysql_close(conn);
getchar();
return0;
}
出现如下错误:
error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用
如果按照之前的步骤还会出现这种错误,可能是因为新建的项目是win32,而操作系统和mysql软件都市64位的,此时如下解决:
右击项目->属性->配置管理器,如图:
然后在“活动解决方案平台”点击下拉,“新建”选择x64即可
相关文章推荐
- AndroidStudio使用JDBC并利用Mysql6.0进行增删改查
- MAC下安装mysql并使用java链接进行增删改查操作(帮助自己记忆)
- 【自】nodeJs使用express框架进行快速建站 连接mysql进行增删改查的实际入门案例
- 使用JDBC操作MySql进行增删改查学生信息。
- 使用jdbc对mysql进行增删改查
- JavaSE 使用mysql 对数据进行 增删改查
- 使用mysqli库对mysql进行操作
- 如何使用ASP.NET对ACCESS数据库进行增删改查操作(基本型)
- [ZT]如何使用Erwin进行基于MYSQL的数据库设计
- 使用C语言进行计时 linux environment
- mysql的C语言接口的使用
- mysql的C语言接口的使用
- 使用C#对XML进行增删改查操作
- 使用C语言进行面向对象的开发--GObject入门[6]
- 使用C语言进行面向对象的开发--GObject入门[1]
- 使用C语言进行面向对象的开发--GObject入门[2]
- Linux下使用C语言连接Mysql
- 使用Jmeter对Mysql进行压力测试无法执行多条sql语句问题
- 使用MYSQL进行数据库备份
- 使用mysqldump进行Mysql备份