Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2019, 10:49   #1
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию И снова Кодировка - Edit1.text

Добрый день.
Помогите новичку разобраться c кодировкой.
Код:
  with ADOQuery_main do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE main_t');

    if sCB_dat.Checked then
      SQL.Add('SET date=CURDATE(), ')
    else
      SQL.Add('date=' + DateToStr(sDateEdit1.Date)+',');

    SQL.Add('id_logins='+ id_user +',');

     if sDBLUCB_contr.Text <> '' then
      SQL.Add('id_contr = ' + idcontr+',');

     if sDBLUCB_unit.Text <> '' then
      SQL.Add('id_units = ' + idunit + ',');

     SQL.Add(' comments=' + sEdit1.Text);

    SQL.Add('WHERE id_main = ' + idmain+';');
    ExecSQL;
  end;
И там где поле COMMENTS (комментарии) данные должны подтягиваться из текстового поля Edit1.Text - почему то ошибка на каракули
Снимок.PNG

Я так понимаю дело в кодировке?
Вся база, таблицы и поля UTF-8Снимок1.PNG

Если вставляю английский текст - то выдает ошибку. мол поле "Kakoi-to text" не найдено
Может как то конвертировать текст нужно. или в какие то кавычки заключать?


Код:
SQL.Add(' comments=''asdfgadfgsdfgsdf sdfg sdfgh sdfg'''); // и русский тоже срабатывает в таком виде
К стати, вот в таком формате - ВСЁ отлично! Работает и поле обновляется

Последний раз редактировалось iskurt; 21.02.2019 в 10:56. Причина: Добавил
iskurt вне форума Ответить с цитированием
Старый 21.02.2019, 11:01   #2
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Код:
SQL.Add(' comments='''+ sEdit1.Text+' '' ');
Всем спасибо - разобрался, дело в кавычках и их количестве ))))
iskurt вне форума Ответить с цитированием
Старый 21.02.2019, 11:07   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
разобрался, дело в кавычках и их количестве
помести в sEdit1.Text текст с кавычкой, удивишься )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.02.2019, 11:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от iskurt Посмотреть сообщение
Всем спасибо - разобрался, дело в кавычках и их количестве
ну кавычки, это, конечно, дело хорошее.
вот только ОЧЕНЬ рекомендую - откройте для себя параметрический запрос (это запрос с параметрами).


Цитата:
Сообщение от iskurt Посмотреть сообщение
Код:
SQL.Add('date=' + DateToStr(sDateEdit1.Date)+',');
вот это, например, очень большой потенциальный косяк.
Так делать крайне не желательно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.02.2019, 11:12   #5
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну кавычки, это, конечно, дело хорошее.
вот только ОЧЕНЬ рекомендую - откройте для себя параметрический запрос (это запрос с параметрами).



вот это, например, очень большой потенциальный косяк.
Так делать крайне не желательно.
Спасибо за совет - исправлюсь
iskurt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
edit1.text и if офирации с ним. celovec Общие вопросы Delphi 9 21.11.2011 17:46
AnsiUpperCase(Edit1.Text); Шура Помощь студентам 3 01.12.2008 20:04
y=Edit1->Text ??? m.a.x.i.m Помощь студентам 8 31.03.2008 11:29
if edit1.text:='123'then ben95 Помощь студентам 5 28.01.2008 16:29
из edit1.text в stringgrid. fluer Общие вопросы Delphi 8 25.04.2007 11:23