要件があります。私のプロジェクトでは、制御文字 (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 です。
私の要件を達成するために、上記のコードで何をする必要があるかを教えてください。
ありがとうございます。