跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

MySQL 5 C API 访问数据库例子程序_MySQL

/*****************************************************************LQU@7gE0以下是研究 mysql 5.0 得出的结果,描述并使用标准 c++演示了使用 MySQL[87PH C API 函数 简单操作数据库的流程;T+E{PA~3例子程序在 VC6 + windows 2000 上调试通过cKAusP=I.

*****************************************************************/ A[s"#include 7a7g'my#includeHkp>}:#!o_#include//文件位于 MySQL 提供的 C API 目录中F iF7hj4ldusing namespace std;UuWny}>q5x t.kuY// linux 等系统中请加入 -lmysqlqwe yX)#pragma comment( lib, "libmysql.lib")>OY}SzUif@1PPG507)7f[/*****************************************************************/DW,r !uI(///name     : main&H[l 8>//function   : 主测试函数$S~+)`-C//access     : privateZhf}SMRJ}//para     :2>3bqd|//       1. : int argcNWg !k!//         : 系统参数个数` C| #e//       2. : char * argv[]=pF Vw@ 8//         : 参数数值ICD# RY &//return     : 返回给 startup 函数的退出参数)c4]PW//author     : hzhnR?k*Ez//date     : 2006-06-24O0"U=A{O\/*****************************************************************/ZB ^R\2 Jint main( int argc, char * argv[] )cr,ZH:Z{f*Y353gBMYSQL mydata;7 (l:lFu Ez-h//初始化数据结构7+ {w5\4Aif(mysql_init(&mydata) == NULL)G4G?;0~\4{LpZe b`Ajstd::cout~uvN .7RZreturn -1;yQ;{?N,5}KZKHXM?Nd'HTI//连接数据库O M^>G"!if(argc == 1)q|4x{nYa5f-if(NULL == mysql_real_connect(&mydata,"127.0.0.1","root","mysql5",!_cP ajA"hzhdb",MYSQL_PORT,NULL,0))fS(|z37^{T6|KX"NNlOstd::coutgAb &Zreturn -1;TZv[b&/}NKkdL}else if(argc == 5)p-Vce#^no{;8kj1a-i Vif(NULL == mysql_real_connect(&mydata,argv[1],+\+ySQtargv[2],argv[3],argv[4],MYSQL_PORT,NULL,0))e1Dl7^]9{wP`$n x:std::cout6LnFyBK$return -1;t[`!+ W!}a3ied;1)I}EjvU*9H QQelses S;mMe m]{v$k1"s,std::coutdChiz~%[return -1;M>!*6) a+}L7Y 8D)-npl(^Kstd::string s_sql = "drop table hzhtest";DRA(+=%if(mysql_query(&mydata,s_sql.c_str()) != 0)0 uf'gbjf{xr%3!l?//删除表失败pG{:RUmysql_close(&mydata);O"$-@c*std::cout%UXxP(g}n)!=%*7ks{qrYZK//创建数据表,字段 myid 设置了自增列属性a|20-c1)cs_sql = "create table hzhtest(";p1xJ) N8Z{s_sql += "myid integer not null auto_increment,";8tv6?}t|]s_sql += "mytime datetime null,myname varchar(30),";>fh[Z: tfs_sql += " primary key(myid))";#i=R6if(mysql_query(&mydata,s_sql.c_str()) != 0)+jP}R>/{3 l_ yx}//创建表失败_SrVC$jmysql_close(&mydata);^Cd/ Ox|ustd::coutS=2V+c' G\]]k%g@Wreturn -1;mh`8K[H}K d OY 06SFSs)rD//向表中插入数据/-Qu,T)for(int k = 1; kw7h)Ke@ n{OU#H-Xqs_sql = "insert into hzhtest(mytime,myname) values";aShy69k:_Vs_sql += "('2006-06-";R9$4woWichar buff[20];)NNs7uN/memset(buff,0,sizeof(buff));xI"'3) qitoa(k,buff,10);F :YQt_s_sql += buff;J5UJ)Gdb@.qj$e{es_sql += " ";K(Y4MVI{U;i.uji VvKint i = k % 3;(8V5kf }memset(buff,0,sizeof(buff));-k:{H;SKitoa(i,buff,10);clErn0Ms_sql += buff;Sb"{B08q1s_sql += ":01:01'";EM*)nW^=jo!.bLkO)if(i == 0)ov .\wNe{=8)\z$bs_sql += ",NULL";|YTM`8\}LG}\>m*FAelseC.U9(DfA/5{QNp5qZt+s_sql += ",'黄志辉";s!DxVs_sql += buff;IPhbq.s_sql += "'";6:IWmt$S}O@Q^j+#s_sql += ")";qx#z%:Ep]LbE\q),if(mysql_query(&mydata,s_sql.c_str()) != 0)+*$c|as{]}3Xyw//执行SQL语句出错c>M*|(,std::cout2gq+mqEmendl@;u}.)i%mysql_close(&mydata) ;kuh.c#return -1;\Z c/-s\}ceoSPr`#}w??NGBLl AU>JDX//查询数据并显示98}A pKs_sql = "select myid,mytime,myname from hzhtest";YpXApif(mysql_query(&mydata,s_sql.c_str()) != 0)e&Nm%#9Z;{+n1)a7j//执行SQL语句出错=PaE\mysql_close(&mydata);/

相关文章