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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2015, 09:47   #1
Alena5
Пользователь
 
Регистрация: 20.01.2015
Сообщений: 10
По умолчанию Сохранение изменений из dbgrid в access

Доброго времени суток!
У меня Dbgrid отображает данные запросом из двух таблиц (отправители товара и сам товар). Мне необходимо чтобы изменения внесенные в ячейки той или иной записи сохранялись в базе. У меня получился вот такой запрос

Код:
datamodule6.ADOQuery5.Sql.Add('update otprav set otprav="'+DBGrid1.Fields[0].Value+'", 
polych="'+DBGrid1.Fields[1].Value+'",data="'+DBGrid1.Fields[5].Value+'" where nom_n LIKE ''%' + buttonedEdit1.Text + '%''');
Можно ли вообще работать таким образом с ячейками или я намудрила сильно?

Последний раз редактировалось Stilet; 22.01.2015 в 10:15.
Alena5 вне форума Ответить с цитированием
Старый 22.01.2015, 10:24   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно то можно, но запрос действительно мудреный.
Оператор LIKE он не точно позиционирует записи, что редактируются, поэтому отредактировав какую-то одну ты можешь жутко удивиться что кроме нее отредактировались еще какие-то другие, у которых критерий совпадет.
Так то насколько я помню в ADOQuery есть возможность прописать обновление нужного поля с помошью специального компонента или событий но увы я забыл как правильно это делается, ибо никогда так не использовал Куери.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2015, 11:19   #3
Alena5
Пользователь
 
Регистрация: 20.01.2015
Сообщений: 10
По умолчанию

Еще один вопрос.
Создала запрос на удаление
Код:
with datamodule6.ADOQuery1 do
begin
datamodule6.ADOQuery1.Sql.Clear;
datamodule6.ADOQuery1.Sql.Add('delete from otprav where nom_n='+ form10.Edit7.Text);
datamodule6.ADOQuery1.ExecSQL;
datamodule6.ADOQuery1.Close;
datamodule6.ADOQuery1.Open;
Выскакивает ошибка "Ошибка синтаксиса(пропущен оператор) в выражении запроса 'nom_n=' "
Подскажите, пожалуйста, в чем проблема

Последний раз редактировалось Stilet; 22.01.2015 в 11:23.
Alena5 вне форума Ответить с цитированием
Старый 22.01.2015, 11:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А в Edit7 что введено?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 07:48   #5
Alena5
Пользователь
 
Регистрация: 20.01.2015
Сообщений: 10
По умолчанию

номер накладной, данные о которой и удаляются

в этом поле могут быть цифры,буквы и символы

Последний раз редактировалось Stilet; 23.01.2015 в 07:58.
Alena5 вне форума Ответить с цитированием
Старый 23.01.2015, 07:57   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А. Все. Понял. Внимательнее надо быть.
Убери это:
Код:
datamodule6.ADOQuery1.Close;
datamodule6.ADOQuery1.Open;
Или используй два Query. Один толко для SELECT другой для остального. И первый переоткрывай после действий второго.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.01.2015, 07:59   #7
Alena5
Пользователь
 
Регистрация: 20.01.2015
Сообщений: 10
По умолчанию

ничего не поменялось ошибка в синтаксисе так и осталась

Последний раз редактировалось Alena5; 23.01.2015 в 08:03.
Alena5 вне форума Ответить с цитированием
Старый 23.01.2015, 08:04   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда идей нет. Отлаживать нужно выясняя во что строка запроса превращается.
Поставь на ту строку точку прерывания, запусти, и подсмотри чему равна Text в эдите.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение изменений в таблице GarBa4 C# (си шарп) 2 25.01.2012 19:08
Сохранение изменений Dmitrov БД в Delphi 2 16.05.2011 09:25
Сохранение изменений Dmitrov Помощь студентам 0 15.05.2011 13:36
DBGrid. ReadOnly. Сохранение изменений cnst_bus БД в Delphi 3 18.01.2010 13:40
сохранение изменений в DBGrid/DBGridEh, при изменении фокуса ячейки dalien БД в Delphi 6 30.07.2009 15:36