C++连接数据库的实例

本文介绍了一种基于C++的车牌号查询方法,并详细展示了如何通过MySQL进行数据库的连接、查询及插入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void shujuku(string chepaihao)
{
    MYSQL * con; 
    MYSQL_RES *res;
    MYSQL_ROW row;
    MYSQL * con1; 
    MYSQL_RES *res1;
    MYSQL_ROW row1;
    char tmp[400];
    char tmp1[400];
    char dbuser[30]="root";     //数据库的用户名
    char dbpasswd[30]="123456";     //数据库的密码
    char dbip[30]="localhost";      //记录数据库服务器名
    char dbname[50]="test";         //数据库的名字
    char tablename[50]="tingkaoche";     //数据表的名字
    char tablename1[50]="suoyouchepai";    //数据表的名字
    char *query=NULL;
    int rt;
    int rt1;
    int TT=0;
    int TT1=0;
    int count = 0;
    unsigned int t;
    con = mysql_init((MYSQL*) 0);    //数据库初始化
    con1 = mysql_init((MYSQL*) 0); 
    if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306,NULL,0) )    //连接数据库
    { 
mysql_real_connect(con1,dbip,dbuser,dbpasswd,dbname,3306,NULL,0);
        if (!mysql_select_db(con,dbname))     //选择数据库
         { 
     mysql_select_db(con1,dbname);
              con ->reconnect = 1;  
              query = "set names \'GBK\'";     //设置数据库编码
              rt=mysql_real_query(con,query,strlen(query));      //执行数据库
      con1 ->reconnect = 1;  
              query = "set names \'GBK\'";
              rt1=mysql_real_query(con1,query,strlen(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,"select * from %s",tablename1);     //查找满足条件的值并输出。
rt=mysql_real_query(con,tmp,strlen(tmp));
        res = mysql_store_result(con);//将结果保存在res结构体中
        while(row = mysql_fetch_row(res))  
        {
                  //  printf("%s  ",row[0]);
 if(row[0]==chepaihao)
 {
 TT++;
 }
         } 
if(TT>0)
{
       sprintf(tmp1,"select * from %s",tablename);
               rt1=mysql_real_query(con1,tmp1,strlen(tmp1));
       res1 = mysql_store_result(con1);
       while(row1 = mysql_fetch_row(res1))  
               {  
                                   //     printf("%s  ",row1[0]);
  if(row1[0]==chepaihao)
  {
  TT1++;
  }
               }  
}
else
{
 MessageBoxA(NULL,"你的车牌号不在数据库中,所以不能开门","",NULL);
         }
if(TT1>0)
{
MessageBoxA(NULL,"你的车是出去的车","",NULL);
}
else
{
// sprintf(tmp,"insert into %s values(%d,%s,%s,%s)",tablename,3,"123344","143423","1343423"); //注意如何向具有自增字段的数据库中插入记录
      
     // rt=mysql_real_query(con,tmp,strlen(tmp));
char aa[20];
         strcpy(aa,chepaihao.c_str());
sprintf(tmp,"insert into %s values('%s','%s','%s')",tablename,aa,"12","12"); //注意如何向具有自增字段的数据库插入记录
printf("%s\n",tmp);
         rt=mysql_real_query(con,tmp,strlen(tmp));
printf("%d\n",rt);
 if (rt)
      {
           printf("Error making query: %s !!!\n",mysql_error(con));
      }
      else
      {
          printf("%s executed!!!\n",tmp);
      }
system("pause");
}
    /* sprintf(tmp,"select * from %s",tablename);
     rt=mysql_real_query(con,tmp,strlen(tmp));
     res = mysql_store_result(con);//将结果保存在res结构体中
     while(row = mysql_fetch_row(res))  
     {  
           for(t=0;t<mysql_num_fields(res);t++)  
           {  
             printf("%s  ",row[t]);  
           }  
           printf(".............\n");  
           count ++;
      }  
     sprintf(tmp,"insert into %s values(%d,%s,%s,%s)",tablename,3,"123344","143423","1343423"); //注意如何向具有自增字段的数据库中插入记录
      rt=mysql_real_query(con,tmp,strlen(tmp));*/
      mysql_free_result(res);     //释放资源
      mysql_free_result(res1); 
      mysql_close(con1);     //关闭数据库
      mysql_close(con);
      system("pause");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值