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

2016-01-29 14:52 10 1 收藏

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

【 tulaoshi.com - MySQL 】

/*****************************************************************
以下是研究 mysql 5.0 得出的结果,描述并使用标准 c++演示了使用 MySQL
C API 函数 简单操作数据库的流程;
例子程序在 VC6 + windows 2000 上调试通过
*****************************************************************/

#include <windows.h
#include <iostream
#include <mysql.h //文件位于 MySQL 提供的 C API 目录中
using namespace std;

// linux 等系统中请加入 -lmysql
#pragma comment( lib, "libmysql.lib")

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)


/*****************************************************************/
///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;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

  s_sql += " ";

  

来源:http://www.tulaoshi.com/n/20160129/1494523.html

延伸阅读
三种解决方法: 1、改表法。 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmware mysqluse mysql; mysqlupdate user set host = '%' where user = 'root'; mysqlselect ...
标签: Web开发
如果你不是只在大集团公司工作过的话,你一定会有机会接触到MySQL,虽然它并不支持事务处理,存储过程,但是它提供的功能一定能满足你的大部分需求,另外,简洁的MySQL也有一些它独到的优势,在有些时候,它的速度甚至超过大型数据库。 那么如何在.NET中访问MySQL数据库呢?也许很多人马上会说:用OLEDB嘛,但是事实上采用.NET OleDb ...
标签: MySQL mysql数据库
本文描述了MySQL,一种利用第三方数据库开发电子贸易和其它复杂、动态网站的有效工具。MySQL 是一种快速、多线程和全功能的 SQL服务器。除了描述MySQL系统的基本体系结构以外,本文还提供了以Tcl和C++编写的简单示例,帮助您开发支持数据库的Web应用。一个必须存储或访问大量信息的应用程序可以从使用第三方数据库产品中受益匪浅。在对信息的访...
最近这个项目中用到是ACCESS的数据库,开始没有使用密码进行连接: String connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; connectionString += @"c:datadbdb.mdb"; OleDbConnection con = new OleDbConnection(connectionString); con.Open(); 是没有任何问题。 为了要使数据库安全一点,不能被用户直接打开编辑,...
标签: ASP
在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库,应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE浏览器,是一个精练实用高效的组合模式...

经验教程

959

收藏

81
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部