Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.02.2015, 23:22
geniusbsd geniusbsd вне форума
Прохожий
 
Регистрация: 11.01.2015
Сообщения: 27
Версия Delphi: RAD STUDIO XE7
Репутация: 10
По умолчанию Adoquery ошибка incorrect string value

Добрый вечер.Возника проблема
Код:
Adoquery.parameters. parambyname('par').value:=edit.text
Столбе бд имеет тип строковый
Вставляю запись в базу mysql есль вславляю латинские символы все проходит ,а если керилица то вылетает ошибка incorrect string value
Если не использовать параметры а динмиеский запрос все нормально.
Почему так происходит и как можно исправить
Ответить с цитированием
  #2  
Старый 13.02.2015, 08:20
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
parambyname('par').AsString := 'foo'
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 13.02.2015, 09:27
geniusbsd geniusbsd вне форума
Прохожий
 
Регистрация: 11.01.2015
Сообщения: 27
Версия Delphi: RAD STUDIO XE7
Репутация: 10
По умолчанию

Пробовал так как вы говорите ошибка
Tparameter does not contain a mamber named AsString
[dcc32 Error] AddUnit.pas(75): E2003 Undeclared identifier: 'AsString'

И так делал
Код:
  Adoquery.parameters. parambyname('par').DataType:=ftString;
  Adoquery.parameters. parambyname('par').value:=edit.text;
Ошибка как в первом посте
Ответить с цитированием
  #4  
Старый 13.02.2015, 13:32
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Очень похоже на несоответствие кодировок, вероятно подразумевается юникод utf8, а на самом деле передаётся напр. 1251. Возможно нужно кодировку установить прнудительно (типа charset=utf8), автоматом видимо это не происходит
Ответить с цитированием
  #5  
Старый 13.02.2015, 16:00
geniusbsd geniusbsd вне форума
Прохожий
 
Регистрация: 11.01.2015
Сообщения: 27
Версия Delphi: RAD STUDIO XE7
Репутация: 10
По умолчанию

Я так тоже думал но я использую ОДБС драйвер mySQL Unicode так что должно все автоматом работать самое интересное
что если делаю так
Код:
ADOQueryTMC.SQL.Add('VALUES (');
    ADOQueryTMC.SQL.Add('('''+ComboBoxKontr.Text+'''),');

Все Ок
А если так
Код:
ADOQueryTMC.SQL.Add('VALUES (');
ADOQueryTMC.SQL.Add(':Nkontr,');    ADOQueryTMC.Parameters.ParamByName('NKontr').Value:=ComboBoxKontr.text;
То ошибка
так что глюк где то в Paramby.Value

Конечно это не принципиально как задавать запрос, но просто хотел попробовать использовать параметры
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025