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()     
原创粉丝点击