test2

// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"
#include "winsock.h"
#include "mysql.h"

struct Database_Param
{
 char *host,*user,*passwd,*unix_socket,*server_version,*host_info,*info;
};

struct Data_Param
{
 char *tab_name,*insert_val;
};

class CDatabase
{
public:
 BOOL UnLockTable(); //解锁
 BOOL LockTable(char* TableName,char* PRIORITY); //加锁
 int Reload(); //重新登陆,非零时返回错误信息
 char* GetState(); //服务器状态
 char* GetServerInfo(); //服务器信息
 int GetProtocolInfo(); //协议信息
 char* GetHostInfo(); //主机信息
 char * GetClientInfo(); //客户机信息
 char* GetFieldName(int FieldNum); //字段名
 BOOL IsEnd(); //是否最后
 int DropDB(char *db); //删除数据库,非零时返回错误信息
 void SeekData(int offset); //查找指定数据
 int CreateDB(char *db); //创建数据库,非零时返回错误信息
 void FreeRecord(); //释放结果集
 unsigned int GetFieldNum(); //得到字段数
 BOOL ConnectDB(Database_Param *p); //连接数据库
 MYSQL_ROW GetRecord(); //得到结果(一个记录)
 my_ulonglong GetRowNum(); //得到记录数
 BOOL SelectDB(Data_Param *para); //选择数据库
 BOOL UpdateRecord(Data_Param *para); //更新记录
 BOOL SelectRecord(Data_Param *para); //选择记录
 BOOL InsertRecord(Data_Param *para); //插入记录
 BOOL DelRecord(Data_Param *para); //删除记录
 BOOL SelectAll(Data_Param *para); //选择所有记录
 char * OutErrors(); //输出错误信息
 CDatabase(); //初始化数据库
 virtual ~CDatabase(); //关闭数据库连接
 
private:
 MYSQL mysql; //数据库连接句柄
 MYSQL_RES *query; //结果集
 MYSQL_ROW row; //记录集
 MYSQL_FIELD *field; //字段信息(结构体)
 BOOL FindSave(char *str); //查找并保存结果集
};

class test
{
public:
 char * myname;
 test();
 virtual ~test();
private:
 char * mytel;
};

test::test
{
};
//CDatabase::CDatabase()
//{
 //mysql_init(&mysql);
//};

char aszflds[25][25];
int i,j,k,l,x;
MYSQL mysql;
MYSQL_RES * res;
MYSQL_FIELD * field;
MYSQL_ROW row;
char szsql[100],szdb[100],sztable[100];

int SQL_Query(char* sqltext);

int main(int argc, char* argv[])

 strcpy(szdb,"test");
 strcpy(sztable,"maintable");
 if (mysql_init(&mysql))
 {
  cout << "mysql init ok!" << endl;
 }
 else
 {
  cout << "mysql init fail" << endl;
  return false;
 }
 if(mysql_real_connect(&mysql,"localhost","root","1111",szdb,3306,NULL,0))
 {
  cout << "mysql connect is sucess!" << endl;
  i = mysql_select_db(&mysql,"test");
  if (i>=0 )
  {
   cout << 1 << endl;
   SQL_Query("select * from maintable");

   /*
   cout << "mysql select db is sucess!" << endl;
   strcpy(szsql , "select * from ");
   strcat(szsql,sztable);
   cout << szsql << endl;
   if (!mysql_query(&mysql,"select * from maintable"))
   {
    res = mysql_store_result(&mysql);
    i = (int)mysql_num_rows(res) ;
    l=1;
    cout << "Query: nNumber of records found:" << i << endl;
    for (x=0; field=mysql_fetch_field(res);x++)
     strcpy(aszflds[x],field->name);
    while (row = mysql_fetch_row(res))
    {
     j=mysql_num_fields(res);
     cout << "Record #:-" << l++ <<endl;
     for (k=0;k<j;k++)
      cout << "Fld #:"<< k+1 << " " << aszflds[k] << " " << (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k]) <<endl;
     cout << "==============================" << endl;
    }
   }
   */
   strcpy(szsql,"insert into ");
   strcat(szsql,sztable);
   //query = "insert into t1(id, name) values(3, 'kunp')";
   strcat(szsql,"(id,testno,testseq,testother) values (3,'20050103',1,'this is no3 test!')" );
   cout << szsql << endl;
   //if (!mysql_query(&mysql,szsql))
   //{
   // SQL_Query(mysql,"select * from maintest");
   //}
  }
 }
 
 return 0;
}

int SQL_Query(char* sqltext)
{
 if (!mysql_query(&mysql,"select * from maintable"))
 {
  res = mysql_store_result(&mysql);
  i = (int)mysql_num_rows(res) ;
  l=1;
  cout << "Query: nNumber of records found:" << i << endl;
  for (x=0; field=mysql_fetch_field(res);x++)
   strcpy(aszflds[x],field->name);
  while (row = mysql_fetch_row(res))
  {
   j=mysql_num_fields(res);
   cout << "Record #:-" << l++ <<endl;
   for (k=0;k<j;k++)
    cout << "Fld #:"<< k+1 << " " << aszflds[k] << " " << (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k]) <<endl;
   cout << "==============================" << endl;
  }
  mysql_free_result(res);
  return 1;
 } else return 0;
}
http://www.phpe.net/mysql_manual/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值