c++操作mysql数据库

#include <windows.h>
     #include "stdio.h"
     #include "winsock.h" 
     #include "mysql.h" 
      
      
     int main()
     {
      
    MYSQL * con; //= mysql_init((MYSQL*) 0); 
    MYSQL_RES *res;
    MYSQL_ROW row;
     
     
    char tmp[400];
    
   //database configuartion
    char dbuser[30]="root"; 
  char dbpasswd[30]="apple";
    char dbip[30]="localhost";
  char dbname[50]="excel";
    char tablename[50]="test";
  char *query=NULL;
   
  
   int x;
   int y;
    int rt;//return value
    unsigned int t;
     
    int count = 0;
     
     
    printf("input x,y\n");
    scanf("%d,%d",&x,&y);
    fflush(stdin);
    printf("input over\n");
    con = mysql_init((MYSQL*) 0); 
     
     
    if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306/*TCP IP端口*/,NULL/*Unix Socket 连接类型*/,0/*运行成ODBC数据库标志*/) ) 
    { 
        if (!mysql_select_db(con,dbname)) 
       { 
            printf("Select successfully the database!\n"); 
            
            con ->reconnect = 1; 
     
           query = "set names \'GBK\'";
           //mysql_query(con,"set names \'GBK\'"); 
       
          rt=mysql_real_query(con,query,strlen(query));
          if (rt)
          {
            printf("Error making query: %s !!!\n",mysql_error(con));
          }
          else
          {
               printf("query %s succeed!\n",query);
          }
          
        }
  }
   
  else
  {
      MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL);
   
  }
   
     //sprintf(tmp,"update %s set 商品=\'%s\',卖出=%d,成交=%d,涨跌=%d,买进=%d,总量=%d,涨幅=%f,时间=\'%s\' where  %s",tablename,goods,sold,deal,fluctuate,buy,total,delta,time,UpdateCon);
    sprintf(tmp,"insert into %s values(%s,%d,%d)",tablename,"null",x,y); //注意如何向具有自增字段的数据库中插入记录
      //MessageBoxA(NULL,tmp,tmp,MB_OK);
      //mysql_query(con,tmp);
  
      rt=mysql_real_query(con,tmp,strlen(tmp));
      if (rt)
      {
          printf("Error making query: %s !!!\n",mysql_error(con));
      }
      else
     {
            printf("%s executed!!!\n",tmp);
     }
      
      sprintf(tmp,"select * from %s",tablename);
        
        rt=mysql_real_query(con,tmp,strlen(tmp));
      if (rt)
      {
          printf("Error making query: %s !!!\n",mysql_error(con));
      } 
      else
      {
          printf("%s executed!!!\n",tmp);
      }
      
      res = mysql_store_result(con);//将结果保存在res结构体中
  
      while(row = mysql_fetch_row(res))  
     {  
          /** 
         * MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); 
           * 检索行 
          */  
   
         for(t=0;t<mysql_num_fields(res);t++)  
          {  
             printf("%s  ",row[t]);  
          }  
          printf(".............\n");  
         count ++;
     }  
     printf("number of rows %d\n",count);
      printf("mysql_free_result...\n");  
      mysql_free_result(res);  
   
     mysql_close(con);
      return 0;
   
  }



#include <windows.h>
#include "stdio.h"
#include "winsock.h" 
#include "mysql.h" 


int main()
{
	
    MYSQL * con; //= mysql_init((MYSQL*) 0); 
    MYSQL_RES *res;
    MYSQL_ROW row;
	
	
    char tmp[400];
    
	//database configuartion
    char dbuser[30]="root"; 
	char dbpasswd[30]="apple";
    char dbip[30]="localhost";
	char dbname[50]="excel";
    char tablename[50]="test";
	char *query=NULL;
	
	
	int x;
	int y;
    int rt;//return value
    unsigned int t;
	
    int count = 0;
	
	
    printf("input x,y\n");
    scanf("%d,%d",&x,&y);
    fflush(stdin);
    printf("input over\n");
    con = mysql_init((MYSQL*) 0); 
	
	
    if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306/*TCP IP端口*/,NULL/*Unix Socket ?接?型*/,0/*?行成ODBC数据??志*/) ) 
    { 
        if (!mysql_select_db(con,dbname)) 
		{ 
            printf("Select successfully the database!\n"); 
            
            con ->reconnect = 1; 
			
			query = "set names \'GBK\'";
			//mysql_query(con,"set names \'GBK\'"); 
			
			rt=mysql_real_query(con,query,strlen(query));
			if (rt)
			{
				printf("Error making query: %s !!!\n",mysql_error(con));
			}
			else
			{
				printf("query %s succeed!\n",query);
			}
			
        }
	}
	
	else
	{
		MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL);
		
	}
	
	//sprintf(tmp,"update %s set 商品=\'%s\',?出=%d,成交=%d,?跌=%d,??=%d,?量=%d,?幅=%f,??=\'%s\' where  %s",tablename,goods,sold,deal,fluctuate,buy,total,delta,time,UpdateCon);
    sprintf(tmp,"insert into %s values(%s,%d,%d)",tablename,"null",x,y); //注意如何向具有自增字段的数据?中插入??
	//MessageBoxA(NULL,tmp,tmp,MB_OK);
	//mysql_query(con,tmp);
	
	rt=mysql_real_query(con,tmp,strlen(tmp));
	if (rt)
	{
		printf("Error making query: %s !!!\n",mysql_error(con));
	}
	else
	{
		printf("%s executed!!!\n",tmp);
	}
	
	sprintf(tmp,"select * from %s",tablename);
	
	rt=mysql_real_query(con,tmp,strlen(tmp));
	if (rt)
	{
		printf("Error making query: %s !!!\n",mysql_error(con));
	} 
	else
	{
		printf("%s executed!!!\n",tmp);
	}
	
	res = mysql_store_result(con);//将?果保存在res??体中
	
	while(row = mysql_fetch_row(res))  
	{  
	/** 
	* MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); 
	* ?索行 
		*/  
		
		for(t=0;t<mysql_num_fields(res);t++)  
		{  
			printf("%s  ",row[t]);  
		}  
		printf(".............\n");  
		count ++;
	}  
	printf("number of rows %d\n",count);
	printf("mysql_free_result...\n");  
	mysql_free_result(res);  
	
	mysql_close(con);
	return 0;
	
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值