1
我有一個要求。在我的項目中,我需要存儲控制字符(ASCII字符範圍從0到31)。但在這裏我需要以角色的形式進行存儲。我寫了一個c代碼,但它不起作用。我在這裏發佈我寫的代碼。 我的IDE是Visual Studio 2010中,我使用MySQL插頭C 6.0.2如何通過C++代碼在MySQL DB中存儲控制字符?
#include "stdafx.h"
#include <iostream>
#include <string>
#include<my_global.h>
#include <mysql.h>
using namespace std;
MYSQL* Connection, MySQL;
int _tmain(int argc, _TCHAR* argv[])
{
int i;
string sData;
char SQLString[384];
for(i=0;i<=31;i++)
sData+=i;
char *Hostname="localhost", *Username="root", *Password="system123", *Database="file_data";
mysql_init(&MySQL);
Connection = mysql_real_connect(&MySQL, Hostname, Username, Password, Database, 0, 0, 0);
if (Connection == NULL)
exit(1);
sprintf_s(SQLString,384,"set sql_mode='NO_BACKSLASH_ESCAPES';");
mysql_query(Connection, SQLString);
sprintf_s(SQLString,384,"insert into file_values(first_data)values('%s')",sData.c_str());
mysql_query(Connection, SQLString);
return 0;
}
這裏,編寫實際的項目代碼之前,我寫了一個示例應用程序來測試它是能夠存儲或沒有,但通過使用上面的代碼,我無法將控制字符存儲在file_values表的first_data列中。
first_data的數據類型是大小爲varchar 33
PLZ讓我知道我需要在上面的代碼做acheive我的要求的變化。
謝謝你的一切。
也許blob字段可以幫助你,它的目的是存儲二進制數據。 – aisbaa 2012-07-12 14:52:44