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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2009, 15:49   #21
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Пробуй изменять данные не через DML. А через Edit - Post.
Добавь свой запрос DML в ADOSql, потом щелкни по параметрам и посмотри какой тип ставиться параметру :c.

Последний раз редактировалось Evgeniy26; 30.07.2009 в 16:13.
Evgeniy26 вне форума Ответить с цитированием
Старый 30.07.2009, 16:20   #22
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

попробуй без извратов просто передать через параметр
Код:
DataModule1.Query2.ParamByName('c').AsString := Memo1.Lines.Text;
soleil@mmc вне форума Ответить с цитированием
Старый 30.07.2009, 16:34   #23
начинающий1
Пользователь
 
Регистрация: 30.07.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
попробуй без извратов просто передать через параметр
Код:
DataModule1.Query2.ParamByName('c').AsString := Memo1.Lines.Text;
Не обновляется
начинающий1 вне форума Ответить с цитированием
Старый 30.07.2009, 17:02   #24
начинающий1
Пользователь
 
Регистрация: 30.07.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
Добавь свой запрос DML в ADOSql, потом щелкни по параметрам и посмотри какой тип ставиться параметру :c.
добавил запрос в Query,
в свойстве DataType параметр :c ftUnknown
в свойстве ParamType параметр :c ptUnknown
начинающий1 вне форума Ответить с цитированием
Старый 30.07.2009, 17:29   #25
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Не может тип определить (хотя значение присваивается, ошибка не вылетает). Посылай тогда запрос со своим Id и корректируй полученные данные Edit - Post. Попробуй ADOCommand.

Последний раз редактировалось Evgeniy26; 30.07.2009 в 17:33.
Evgeniy26 вне форума Ответить с цитированием
Старый 30.07.2009, 17:44   #26
начинающий1
Пользователь
 
Регистрация: 30.07.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Evgeniy26 Посмотреть сообщение
Не может тип определить (хотя значение присваивается, ошибка не вылетает). Посылай тогда запрос со своим Id и корректируй полученные данные Edit - Post. Попробуй ADOCommand.
хорошо бы маленький примерчик...
начинающий1 вне форума Ответить с цитированием
Старый 30.07.2009, 17:52   #27
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
with DataModule1.Query2 do
begin
  SQL.Clear;
  SQL.Add('Select I_Zametka From test where I_id = ' + StrToInt(Edit1.Text));
  Open;
  if RecordCount > 0 then
  begin
    Edit;
    TBlobField(ADOQuery1.FieldByName('I_Zametka')).AsString := Memo1.Lines.Text;
    if Modified then
      Post
  end;
end;
Evgeniy26 вне форума Ответить с цитированием
Старый 30.07.2009, 18:14   #28
начинающий1
Пользователь
 
Регистрация: 30.07.2009
Сообщений: 46
По умолчанию

Evgeniy26
Большое спасибо Вам!!!

Последний раз редактировалось начинающий1; 30.07.2009 в 18:24.
начинающий1 вне форума Ответить с цитированием
Старый 31.07.2009, 09:37   #29
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

У мну почему то не получается обновить запись в blob поле таким запросом
Код:
procedure TForm12.BitBtn3Click(Sender: TObject);
begin
 Form12.Query_update.Active:=False;
 Form12.Query_update.SQL.Clear;
 Form12.Query_update.Edit;
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Imy='+ QuotedStr(Form12.Edit2.Text) + 'WHERE Imy= ' + QuotedStr(Form12.Edit2.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Familiy= ' + QuotedStr(Form12.Edit1.Text) + 'WHERE Familiy= ' + QuotedStr(Form12.Edit1.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Otchest= ' + QuotedStr(Form12.Edit3.Text) + 'WHERE Otchest= ' + QuotedStr(Form12.Edit3.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET HealthGroup= ' + QuotedStr(Form12.ComboBox1.Text) + 'WHERE Imy= ' + QuotedStr(Form12.Edit2.Text) + 'AND Familiy= ' + QuotedStr(Form12.Edit1.Text) + 'AND Otchest= ' + QuotedStr(Form12.Edit3.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET LetSad= ' + QuotedStr(Form12.Edit5.Text) + 'WHERE Imy= ' + QuotedStr(Form12.Edit2.Text) + 'AND Familiy= ' + QuotedStr(Form12.Edit1.Text) + 'AND Otchest= ' + QuotedStr(Form12.Edit3.Text);
 TBlobField(Form12.Query_update.FieldByName('MestoRogd')).AsString:=Form12.Memo1.Lines.Text;
 Form12.Query_update.Post;
 Form12.Query_update.ExecSQL;
end;
Выдает ошибку при нажатии на кнопку, что "Cannot perform on dataset closed". Подскажите что не так?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 31.07.2009, 10:13   #30
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

1) Ты выполняешь Edit - Post на закрытом Query.
2) Не понимаю логику этого кода:
Код:
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Imy='+ QuotedStr(Form12.Edit2.Text) + 'WHERE Imy= ' + QuotedStr(Form12.Edit2.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Familiy= ' + QuotedStr(Form12.Edit1.Text) + 'WHERE Familiy= ' + QuotedStr(Form12.Edit1.Text);
 Form12.Query_update.SQL.Text:='UPDATE spisok SET Otchest= ' + QuotedStr(Form12.Edit3.Text) + 'WHERE Otchest= ' + QuotedStr(Form12.Edit3.Text);
.....
 TBlobField(Form12.Query_update.FieldByName('MestoRogd')).AsString:=Form12.Memo1.Lines.Text;
Form12.Query_update.ExecSQL;
После каждого Update необходимо вызывать ExecSQL. Или добавлять в Query методом Add и ставить между DML точку с запятой - ';'.

Это ты какую запись редактируешь, у тебя нет данных в Query.
Код:
 TBlobField(Form12.Query_update.FieldByName('MestoRogd')).AsString:=Form12.Memo1.Lines.Text;

Последний раз редактировалось Evgeniy26; 31.07.2009 в 10:26.
Evgeniy26 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BLOB поле artemavd БД в Delphi 17 09.08.2016 02:13
Перевод из Memo по английскому в Memo по русскому Sanek777 Общие вопросы Delphi 5 26.09.2008 00:17
Blob поля в делфи dagarik БД в Delphi 2 02.12.2007 17:33
В Memo сделать так, чтобы текст был разного цвета, разноцветный memo Artem Компоненты Delphi 3 07.09.2007 13:40
BLOB в string _andrews_ БД в Delphi 0 20.04.2007 12:05