下面的代碼將值插入到MYSQL數據庫中。 如果我使用「sprintf(Query,」INSERT into t(d)values(%c)「,a);」它不會將單詞hello插入到我的數據庫中。我也嘗試在上面的語句中使用(%s)。 (d)值(%d)「,b);」它將值1234插入到數據庫中。使用C++將字符插入到MYSQL表中
發生了什麼事?爲什麼不把它插入到我的數據庫中的字符或字符串,但只有整數?
d列是我的數據庫被定義爲char類型。
謝謝。
#include "stdafx.h"
#include <stdio.h>
#include <mysql.h>
//#include <string>
//using std::string;
//#include <atlstr.h>
MYSQL *pConnection;
MYSQL_RES *pResult=NULL;
MYSQL_ROW Row;
char Query[256];
int main(int argc, char* argv[])
{
pConnection = mysql_init(NULL);
mysql_real_connect(pConnection,"localhost","root","y123","test",0,NULL,0);
char a[] ="Hello";
int b = 1234;
printf("%s", a);
sprintf(Query, "INSERT into t(d) values (%s)", a);
mysql_query(pConnection, Query);
}
你列什麼類型你試圖插入? – aambrozkiewicz 2012-03-12 14:20:12