VC6.0操作MYSQL数据库(已通过测试)
来源:互联网 发布:tracert linux 源码 编辑:程序博客网 时间:2024/05/22 03:13
另外在vc 工具-选项-目录1:加上include files路径 ,如D:\MYSQL5\INCLUDE2:加上library files 路径 D:\MYSQL5\LIB\DEBUG3:在工程-设置-连接 加上对象模块 libmysql.lib
4:建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。
5:新建stdafx.h,添加以下代码
#include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#include "mysql.h"#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了
6:#include "stdafx.h"
OK,接下来就是数据库的常用操作了
简例:
#include "stdafx.h"#include <iostream.h>int main(int argc, char* argv[]){ const char user[] = "root"; const char pswd[] = "83530729"; const char host[] = "127.0.0.1"; const char table[] = "test"; unsigned int port = 3306; MYSQL myCont; MYSQL_RES *result; MYSQL_ROW sql_row; MYSQL_FIELD *fd; char column[32][32]; int res; mysql_init(&myCont); if(mysql_real_connect(&myCont,host,user,pswd,table,port,NULL,0)) {//cout<<"open success"<<endl; mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文res=mysql_query(&myCont,"SELECT * FROM booksystem");cout<<"number:"<<res<<endl;if(res==0){result = mysql_store_result(&myCont);//保存查询到的数据到resultif(result){cout<<"一共有几条记录:"<<(long)mysql_num_rows(result)<<endl;int i,j;for(i=0;fd=mysql_fetch_field(result);i++)//获取列名 { strcpy(column[i],fd->name);cout<<"what"<<column[i]<<endl; }j=mysql_num_fields(result); for(i=0;i<j;i++) { //printf("%s\t",column[i]);//cout<<"now:"<<column[i];//cout<<"\n"<<endl; }while(sql_row=mysql_fetch_row(result))//获取具体的数据 { for(i=0;i<j;i++) { cout<<sql_row[i]<<endl; } cout<<"\n"<<endl; }}else{cout<<"一条也莫有:"<<result<<endl;}}}else{cout<<"open faile"<<endl;}//if(result!=NULL) mysql_free_result(result);//释放结果资源 mysql_close(&myCont);//断开连接return 0;}
常用API:
第一部分 控制类函数
mysql_init()初始化MySQL对象
mysql_options()设置连接选项
mysql_real_connect()连接到MySQL数据库
mysql_real_escape_string()将查询串合法化
mysql_query()发出一个以空字符结束的查询串
mysql_real_query()发出一个查询串
mysql_store_result()一次性传送结果
mysql_use_result()逐行传送结果
mysql_free_result()释放结果集
mysql_change_user()改变用户
mysql_select_db()改变默认数据库
mysql_debug()送出调试信息
mysql_dump_debug_info()转储调试信息
mysql_ping()测试数据库是否处于活动状态
mysql_shutdown()请求数据库SHUTDOWN
mysql_close()关闭数据库连接
第二部分 信息获取类函数
mysql_character_set_name()获取默认字符集
mysql_get_client_info()获取客户端信息
mysql_host_info()获取主机信息
mysql_get_proto_info()获取协议信息
mysql_get_server_info()获取服务器信息
mysql_info()获取部分查询语句的附加信息
mysql_stat()获取数据库状态
mysql_list_dbs()获取数据库列表
mysql_list_tables()获取数据表列表
mysql_list_fields()获取字段列表
第三部分 行列类操作函数
mysql_field_count()获取字段数
mysql_affected_rows()获取受影响的行数
mysql_insert_id()获取AUTO_INCREMENT列的ID值
mysql_num_fields()获取结果集中的字段数
mysql_field_tell()获取当前字段位置
mysql_field_seek()定位字段
mysql_fetch_field()获取当前字段
mysql_fetch_field_direct()获取指定字段
mysql_frtch_fields()获取所有字段的数组
mysql_num_rows()获取行数
mysql_fetch_lengths()获取行长度
mysql_row_tell()获取当前行位置
mysql_row_seek()行定位
mysql_data_seek()行定位
mysql_fetch_row()获取当前行
第四部分 线程类操作函数
mysql_list_processes()返回所有线程列表
mysql_thread_id()获取当前线程ID
mysql_thread_safe()是否支持线程方式
mysql_kill()杀列一个线程
第五部分 出错处理类函数
mysql_errno()获取错误号
mysql_error()获取错误信息
第六部分 已过时的函数
mysql_connect()
mysql_create_db()
mysql_drop_db()
mysql_eof()
mysql_reload()
mysql_escape_string()