您的位置:首页 > 编程语言 > C语言/C++

C++连接数据库的实例

2017-05-05 17:56 183 查看
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");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 数据库