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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2012, 12:56   #11
lu_una
Пользователь
 
Регистрация: 07.11.2012
Сообщений: 84
По умолчанию

('+QuotedStr(Edit1.Text)+') вот так вот-да !)
спасибо за помощь !)
lu_una вне форума Ответить с цитированием
Старый 10.12.2012, 13:06   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

без круглых скобочек вокруг Edit1.Text не работает, а с ними работает?!.
да ну бросьте, не верю! Имхо, дело не в них (не в круглых скобках в тексте запроса)!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.12.2012, 13:23   #13
lu_una
Пользователь
 
Регистрация: 07.11.2012
Сообщений: 84
По умолчанию

Да что ж за дела!) Без скобок сейчас проверила -работает!) Видимо что то не так до этого было))
lu_una вне форума Ответить с цитированием
Старый 10.12.2012, 17:27   #14
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Как-то так:
Код:
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(' UPDATE TABLE_FILE SET FILE_NAME = '+Edit1.Text + 
                  ' WHERE ID = :I');
IBQuery1.ParamByName('I').Value:=id;
IBQuery1.ExecSQL;
Не помню точно как там синтаксис в IB. Суть понятна итак.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 11.12.2012, 09:26   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

artemavd, нет, не пойдёт.
1-х, ваш код содержит ту же ошибку, что и мой первоначальный вариант
запрос вида
UPDATE TABLE_FILE SET FILE_NAME = Вася Пупкин where id = 111
выдаст ошибку, т.к. нет таких ключевых слова Вася Пупкин,
нужно брать текстовые константы в запросе в кавычки (через QuotedStr(), например). Это раз.

2-х. Если уж использовать параметры, так нужно все значения, подставляемые в запрос заменить на параметры. Иначе какой смысл ID передавать через параметер, а имя - подставлять в текст запроса.
Да и вообще, если меняются только параметры, то текст запроса ВООБЩЕ не надо трогать, его вообще в Design-Time можно один раз прописать и пользоваться.
т.е.


в режиме разработки приложения (DesignTime пишем в поле SQL:
Код:
UPDATE TABLE_FILE SET FILE_NAME = :MyName  WHERE ID = :I'
дальше, в коде прописываем заполнение параметров:
Код:
  IBQuery1.Close;  // эта строчка тоже не нужна - это так, для перестраховки..
  IBQuery1.ParamByName('MyName').Value := Edit1.Text;
  IBQuery1.ParamByName('I').Value := id;
  IBQuery1.ExecSQL;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос -записать значение в таблицу lu_una Общие вопросы Delphi 15 29.11.2012 14:59
занесение текста в таблицу из edit include PHP 2 21.05.2012 20:19
Из Edit в таблицу MySQl Kristian Общие вопросы Delphi 1 23.09.2011 16:14
Запрос возвращает пустую таблицу, если один из подзаросов возвращает пустую таблицу ArtInt SQL, базы данных 9 12.05.2010 15:40
Запрос на добавление поля в таблицу mirawoo Microsoft Office Access 9 17.07.2008 16:44