Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 组合char以插入数据库_C++_Mysql_Rfid - Fatal编程技术网

C++ 组合char以插入数据库

C++ 组合char以插入数据库,c++,mysql,rfid,C++,Mysql,Rfid,下面显示的代码显示监视器上的标签数据。我需要的是合并“t”中的所有字符并将其插入数据库。下面代码中的情况是,每次循环时,它都会将字符打印到mysql中的不同条目中。例如:如果十六进制标记长度为10字节,则它将位于10个不同的条目中。我需要以某种方式组合字符并将其插入到一个条目中 我尝试将其转换为字符串,但sprintf()的第一个参数“Query[256]”必须是字符声明,因此它给了我一个错误 顺便说一句,下面的代码显示从RFID阅读器读取的标签 void CT1121Dlg::DisplayT

下面显示的代码显示监视器上的标签数据。我需要的是合并“t”中的所有字符并将其插入数据库。下面代码中的情况是,每次循环时,它都会将字符打印到mysql中的不同条目中。例如:如果十六进制标记长度为10字节,则它将位于10个不同的条目中。我需要以某种方式组合字符并将其插入到一个条目中

我尝试将其转换为字符串,但sprintf()的第一个参数“Query[256]”必须是字符声明,因此它给了我一个错误

顺便说一句,下面的代码显示从RFID阅读器读取的标签

void CT1121Dlg::DisplayTagData(int cnt,int tag_len,int start_index)

{
MYSQL *pConnection;
MYSQL_RES *pResult=NULL; 
MYSQL_ROW Row;
char Query[256];
int a;
int z = 25; 
int fields;
pConnection = mysql_init(NULL);
mysql_real_connect(pConnection,"localhost","root","password","test",0,NULL,0); 


    CString s,s0;

    int i,j;

    unsigned char t;


for(i = 0; i < cnt; i++)
    {   
        s.Format("NO.%d: ",start_index+i+1);
        for(j = 0; j < tag_len; j++)
        {
            t = IdBuf[i].Ids[j];



            if(t < 0x10)
            {
                s0.Format("0%X ",t); // if hexa is less than 10 print 0 infront of it



            }
            else
                s0.Format("%X ",t); // else just print the 2 bit hexa decimal


            s += s0;
        **sprintf(Query, "INSERT into t(e) values (%x)",t);**

        if ( mysql_query(pConnection,Query) == 0 )
    {
        pResult = mysql_store_result( pConnection );    
        }

        }



        AddOprationInfo(s); // print string s on the screen


    }

 }
void CT1121Dlg::DisplayTagData(int-cnt、int-tag\u len、int-start\u索引)
{
MYSQL*pConnection;
MYSQL_RES*pResult=NULL;
MYSQL_行;
字符查询[256];
INTA;
int z=25;
int字段;
pConnection=mysql_init(NULL);
mysql\u real\u connect(pConnection,“localhost”,“root”,“password”,“test”,0,NULL,0);
CString s,s0;
int i,j;
无符号字符t;
对于(i=0;i
我试着把它变成字符串,但是 sprintf()“查询[256]”必须是字符声明 因此它给了我一个错误


只需使用(char*)查询将其转换为char*,而不仅仅是查询。

您使用的是MFC,我认为:只需将查询声明为CString,并使用格式,就像您已经在其他地方做的那样。

我建议您更改密码,因为您已经在互联网上公开发布了密码。特别是如果您在其他地方使用相同的密码。