Delhi + MySQL + TSQLConnection = Incorrect string value
Все проходит на ура. Но при попытке заполнить тем же способом некоторые таблицы данным (для проекта необходимо создать изначальную базу данных с готовыми таблицами и некоторым набором данных, занесенным в них) получаю ошибку:
При том замечу, что посылая данный запрос через консоль Navicat получаю нормальный результат.
Использую RAD Studio XE2
Пример кода:
Код:
SQLConnection_Main.Open;
SQLConnection_Main.ExecuteDirect('CREATE DATABASE ' + Edit_Step20DBName.Text);
SQLConnection_Main.ExecuteDirect('GRANT ALL PRIVILEGES ON ' +
Edit_Step20DBName.Text + '.* TO ' +
Edit_Step20AdminName.Text +
'@"%" IDENTIFIED BY ''' +
Edit_Step20AdminPass.Text + ''' WITH GRANT OPTION;');
SQLConnection_Main.ExecuteDirect('USE ' + Edit_Step20DBName.Text);
SQLConnection_Main.ExecuteDirect('CREATE TABLE `Orgs` ' +
'(`Key` int NULL AUTO_INCREMENT ,' +
'`Org` char(255) CHARACTER SET cp1251 NULL ,' +
'PRIMARY KEY (`Key`));');
// Этот запрос выдает данную ошибку
SQLConnection_Main.ExecuteDirect('INSERT INTO `Orgs` (`Org`) VALUES ("Некий текст, который необходимо внести в таблицу");');
SQLConnection_Main.Close;
SQLConnection_Main.ExecuteDirect('CREATE DATABASE ' + Edit_Step20DBName.Text);
SQLConnection_Main.ExecuteDirect('GRANT ALL PRIVILEGES ON ' +
Edit_Step20DBName.Text + '.* TO ' +
Edit_Step20AdminName.Text +
'@"%" IDENTIFIED BY ''' +
Edit_Step20AdminPass.Text + ''' WITH GRANT OPTION;');
SQLConnection_Main.ExecuteDirect('USE ' + Edit_Step20DBName.Text);
SQLConnection_Main.ExecuteDirect('CREATE TABLE `Orgs` ' +
'(`Key` int NULL AUTO_INCREMENT ,' +
'`Org` char(255) CHARACTER SET cp1251 NULL ,' +
'PRIMARY KEY (`Key`));');
// Этот запрос выдает данную ошибку
SQLConnection_Main.ExecuteDirect('INSERT INTO `Orgs` (`Org`) VALUES ("Некий текст, который необходимо внести в таблицу");');
SQLConnection_Main.Close;
Вопрос убит, не выставил кодировку SQLConnect`а, поставил cp1251 и все заработало нормально