MySQL 5 C API 访问数据库例子程序,MySQL 5 C API 访问数据库例子程序
【 tulaoshi.com - MySQL 】
/*****************************************************************#include <windows.h 
#include <iostream
#include <mysql.h //文件位于 MySQL 提供的 C API 目录中
using namespace std;
// linux 等系统中请加入 -lmysql
#pragma comment( lib, "libmysql.lib")
/*****************************************************************/
///name       : main
//function    : 主测试函数
//access      : private
//para        : 
//         1. : int argc
//            : 系统参数个数
//         2. : char * argv[]
//            : 参数数值
//return      : 返回给 startup 函数的退出参数
//author      : hzh
//date        : 2006-06-24
/*****************************************************************/
int main( int argc, char * argv[] ) 
{ 
 MYSQL mydata; 
 //初始化数据结构
 if(mysql_init(&mydata) == NULL)
 {
  std::cout<<"init mysql data stauct fail"<<endl;
  return -1;
 }
//连接数据库
 if(argc == 1)
 {
  if(NULL == mysql_real_connect(&mydata,"127.0.0.1","root","mysql5",
   "hzhdb",MYSQL_PORT,NULL,0))
  {
   std::cout<<"connect database fail"<<endl<<mysql_error(&mydata)<<endl;
   return -1;
  }
 }else if(argc == 5)
 {
  if(NULL == mysql_real_connect(&mydata,argv[1],
   argv[2],argv[3],argv[4],MYSQL_PORT,NULL,0))
  {
   std::cout<<"connect database fail"<<endl<<mysql_error(&mydata)<<endl;
   return -1;
  }
 }
 else
 {
  std::cout<<"run parameter error"<<endl;
  return -1;
 }
 std::string s_sql = "drop table hzhtest";
 if(mysql_query(&mydata,s_sql.c_str()) != 0)
 {
  //删除表失败
  mysql_close(&mydata); 
  std::cout<<"drop table fail"<<endl<<mysql_error(&mydata)<<endl;
 }
 //创建数据表,字段 myid 设置了自增列属性
 s_sql = "create table hzhtest(";
 s_sql += "myid integer not null auto_increment,";
 s_sql += "mytime datetime null,myname varchar(30),";
 s_sql += " primary key(myid))";
 if(mysql_query(&mydata,s_sql.c_str()) != 0)
 {
  //创建表失败
  mysql_close(&mydata); 
  std::cout<<"create table fail"<<endl
   <<mysql_error(&mydata)<<endl;
  return -1;
 } 
 //向表中插入数据
 for(int k = 1; k < 30; ++k)
 {
  s_sql = "insert into hzhtest(mytime,myname) values";
  s_sql += "('2006-06-";
  char buff[20];
  memset(buff,0,sizeof(buff));
  itoa(k,buff,10);
  s_sql += buff;
s_sql += " ";
 
来源:http://www.tulaoshi.com/n/20160129/1494523.html
看过《MySQL 5 C API 访问数据库例子程序》的人还看了以下文章 更多>>