2012-03-11 3 views
0

Коды, показанные ниже, отображают данные тегов на мониторе. Мне нужно объединить весь символ в «t» и вставить его в базу данных. то, что происходит в коде ниже, состоит в том, что каждый раз, когда он петли, он печатает символы в mysql в другую запись. Например: если длина шестнадцатеричного тега равна 10 байтам, она будет в 10 разных записях. Мне нужно как-то объединить символы и вставить их в 1 запись.Сочетание символов для вставки в базу данных

Я попытался сделать его в строку, но первый аргумент sprintf() «Query [256]» должен быть обозначен символом, поэтому он дает мне ошибку.

Btw приведенные ниже коды отображают теги, считываемые с 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 


    } 

} 
+2

Я бы порекомендовал вам сменить пароль, теперь, когда вы публиковали его в Интернете. Особенно, если вы используете один и тот же пароль в другом месте. – bdonlan

ответ

0

Я попытался сделать его в строку, но первый аргумент Sprintf() «Запрос [256]» требуется иметь характер декларации , следовательно, он дает мне ошибку.

Просто введите его в char *, используя (char *) запрос вместо запроса Query.

1

Вы используете MFC, я думаю: просто объявите запрос как CString и используйте Format, как и во всех других местах, которые вы уже делаете.

Смежные вопросы