Форум: "Базы";
Текущий архив: 2012.01.22;
Скачать: [xml.tar.bz2];
ВнизКодировка параметров SQL-запросов Найти похожие ветки
← →
prezervogaz (2010-04-03 14:06) [0]Здравствуйте!
Я пытаюсь работать с базой данных MySQL через компоненты ADO (драйвера ODBC). Пытаюсь вставить запись в таблицу следующим образом:
mainQuery.SQL.Append("INSERT INTO test (text) VALUES (:text_);");
mainQuery.Parameters.ParamByName("text_").Value:=t estDialog.full_name mainQuery.ExecSQL();
Проблема в том, что этот способ не работает с русскими символами (вставляются знаки "?"). Причём редактирование той же базы посредством компонентов типа DBGrid работает нормально.
В чём проблема? Понятно, что нужно подшаманить как-то с кодировкой, но как именно?
Параметры я пробовал создавать по-разному:
mainQueryParameters.CreateParameter("test_",ftWide String,pdInput, 300, testDialog.full_nameEdit.Text);
mainQueryParameters.CreateParameter("test_",ftStri ng,pdInput, 300, testDialog.full_nameEdit.Text);
со всеми вариантами-тоже самое.
Сервер- MySQL 5.1.30, Delphi 7. Кодировка базы данных-cp1251
← →
turbouser © (2010-04-03 15:36) [1]
>
> prezervogaz (03.04.10 14:06)
> Я пытаюсь работать с базой данных MySQL
Забей. Возьми что нибудь нормальное.
← →
sniknik © (2010-04-03 16:29) [2]> что нужно подшаманить как-то с кодировкой, но как именно?
проверить всю цепочку, параметр - соединение - драйвер - сервер везде должна быть одна кодировка.
проверь например без параметра, прописать русскими в запросе (не то чтобы так постоянно нужно делать, но проверка исключит параметр, и если получится ясно где не настроено)
+ где то видел, есть драйвера у которых этого нет в соединении, но можно задавать командой типа SET names xxx COLLATE xxxx.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2012.01.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c