VC6.0操作MYSQL数据库(已通过测试)

另外在vc 工具-选项-目录
1:加上include files路径 ,如D:\MYSQL5\INCLUDE
2:加上library files 路径 D:\MYSQL5\LIB\DEBUG
3:在工程-设置-连接 加上对象模块 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);//保存查询到的数据到result  if(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()     

你可能感兴趣的:(VC6.0操作MYSQL数据库(已通过测试))