特别提醒:租用服务器首月多付100元,即可享受正版 BlueM2 (0504/0506) ,服务器型号不限。 关闭提示
  ID:   密码:   验证码:  
我的知识库
服务器-WEB服务器
服务器-FTP服务器
服务器-安全防护
IDC业务相关
网络编程-ASP
网络编程-PHP
网络编程-.NET
网络编程-XML
数据库-Access
数据库-Mssql
数据库-Mysql
主机相关问题
域名相关问题
邮局相关问题
付款相关问题
相关文本合同
游戏技术-传奇私服架设
游戏技术-传奇脚本信息
游戏技术-传世私服
常用软件下载
首页 >> 我的知识库>>数据库-Mysql>> MySQL 5 C API 访问数据库例子程序  
MySQL 5 C API 访问数据库例子程序
[ 作者:  | 文章来源: 赛迪网 | 点击数: 485 | 更新时间: 2007-10-13 17:41:40 ]


以下为引用的内容:
/*****************************************************************
以下是研究 mysql 5.0 得出的结果,描述并使用标准 c++演示了使用 MySQL
C API 函数 简单操作数据库的流程;
例子程序在 VC6 + windows 2000 上调试通过
*****************************************************************/
#include
#include
#include //文件位于 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; Spdns_com

//初始化数据结构
if(mysql_init(&mydata) == NULL)
{
std::cout<<"init mysql data stauct fail"<return -1;
}

Spdns@com

//连接数据库
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"< 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"< return -1;
}
}
else
{
std::cout<<"run parameter error"<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"<}

中国.南通服务器网

//创建数据表,字段 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"< <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 += " ";

南通服务器网

int i = k % 3;
memset(buff,0,sizeof(buff));
itoa(i,buff,10);
s_sql += buff;
s_sql += ":01:01'"; 中国南通服务器网,为中文网南通服务器网

//查询数据并显示
s_sql = "select myid,mytime,myname from hzhtest";
if(mysql_query(&mydata,s_sql.c_str()) != 0)
{
//执行SQL语句出错
mysql_close(&mydata);
std::cout<<"execute sql syntax fail"<<
endl<return -1;
}

中国南通服务器网,为中文网南通服务器网

//取得查询结果
int rowcount = mysql_num_rows(result);
//取得有效记录数
std::cout<<"exec sql: "<Spdns

MYSQL_FIELD *fields = NULL;
//取得各字段名
for(int i = 0; fields = mysql_fetch_field(result);++i)
{
std::cout<name<<"\t\t";
}
std::cout<Www_Spdns_com


//依次读取各条记录
MYSQL_ROW currrow = NULL;
while((currrow = mysql_fetch_row(result)) != NULL)
{
//读行的记录
for(int i = 0; i < mysql_num_fields(result); ++i)
{
std::cout<<(currrow ? currrow : "NULL")<<"\t";
}
std::cout<}

中.国.南通服务器网

mysql_free_result(result) ;
mysql_close(&mydata); Spdns

system("pause");

Www@Spdns@com

return 1;
}

Spdns^com

Www^Spdns^com

Tags:MySQL 5 C API 访问 数据库例子
责任编辑:阿小



评论
收藏
推荐
打印
关闭
字体:+ -
纠错


Copyright © 1999-2007 诚信 合法 规范的南通服务器网 www.spdns.com 始建于1996
企业总机:400-618-5529(只收市话费) 未开通400地区:0513-83015999 / 84012988 / 84519829
上海亿流数码科技有限公司 地址:江苏省南通市如东电信局大楼3楼IDC运维部
《中华人民共和国增值电信业务经营许可证》沪B2-20060518号
信息产业部备案编号:苏ICP备05009350号
电子执照:沪企3102272090823