我有一个要求。在我的项目中,我需要存储控制字符(ASCII 字符范围从 0 到 31)。但是这里我需要以字符的形式存储。我写了ac代码,但它不起作用。我在这里发布我写的代码。我的 IDE 是 Visual Studio 2010,我正在使用 MySQL Connector C 6.0.2
#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 的数据类型是大小为 33 的 varchar。
请让我知道我需要在上面的代码中做些什么来满足我的要求。
谢谢大家。