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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2013, 09:38   #11
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
По умолчанию

путь к базе данных должен быть таким C:\Users\Андрей\Desktop\тараненко\D B\bd.mdb тогда программа запускается
Вложения
Тип файла: rar DB.rar (401.7 Кб, 6 просмотров)
kent0026 вне форума Ответить с цитированием
Старый 23.05.2013, 09:55   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

иллюстрация к сказанному ранее.
Сopy Paste + Update to Select
И смотрим таблицу "Заказы"
Изображения
Тип файла: jpg 22.JPG (24.1 Кб, 56 просмотров)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 23.05.2013 в 10:01.
evg_m вне форума Ответить с цитированием
Старый 23.05.2013, 15:13   #13
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
иллюстрация к сказанному ранее.
Сopy Paste + Update to Select
И смотрим таблицу "Заказы"
хорошо сделал как вы просили и показывали, скопировал код запроса использовал его в Access все работает идеально, меняет как надо, но в делфи этот код работать отказывается и выдает ошибку
kent0026 вне форума Ответить с цитированием
Старый 23.05.2013, 15:31   #14
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
По умолчанию

я думаю что ошибка связана с ADOQuery как я понимаю, вот здесь мы присваиваем значения полей
n:=form1.ADOQuery2.Fields.Fields[0].AsInteger;
id:=form1.ADOQuery2.Fields.Fields[1].AsInteger;

дальше идет запрос на изменение данных с параметром


form1.ADOQuery2.SQL.Clear;
form1.ADOQuery2.SQL.Text:='update Заказы set Наименование_товара="'+form7.ComboB ox1.Text+'", Цена_товара="'+form7.Edit3.Text+'", колличество="'+form7.Edit4.Text+'", стоимость="'+form7.Edit5.Text+'", способ_оплаты="'+form7.ComboBox2.Te xt+'", дата_оформления="'+form7.Edit7.Text +'", статус="'+form7.ComboBox3.Text+'", продавец="'+form7.ComboBox4.Text+'" where id=id and n=pn';

далее заполняем параметры ADOQuery для выявления изменяемой строки


form1.ADOQuery2.Parameters.ParamByN ame('pid').Value:=n;
form1.ADOQuery2.Parameters.ParamByN ame('opn').Value:=id;

далее сохранение измененных данных в таблице


form1.ADOQuery2.ExecSQL;

далее запрос на загрузку данных из БД в грид и перевод ADOQuery в active

form1.ADOQuery2.SQL.Clear;
form1.ADOQuery2.SQL.Text:='select * from заказы';
form1.ADOQuery2.Active:=true;

ошибка возникает при сохранении измененных данных в БД, из за отсутствия значений для одного или нескольких параметров, я думаю что проблема вот здесь

n:=form1.ADOQuery2.Fields.Fields[0].AsInteger;
id:=form1.ADOQuery2.Fields.Fields[1].AsInteger;

или вот здесь

form1.ADOQuery2.Parameters.ParamByN ame('pid').Value:=n;
form1.ADOQuery2.Parameters.ParamByN ame('opn').Value:=id;

потому что он либо не загружает эти параметры из таблицы либо не заполняет эти данные по неизвестной мне причине, обращаю внимание что в таблице клиенты запрос такой же, и в 2-х других таблицах аналогичный все сделано через copy-past, изменены только имена полей, поля 10 раз перепечатывал и проверил через access запросом, все работает а в делфи нет, так вот может быть кто знает как сделать другое условие отбора или может быть параметры как нибудь по другому заполнить можно? или вообще запрос на изменение данных другой есть хоть что нибудь
kent0026 вне форума Ответить с цитированием
Старый 23.05.2013, 15:42   #15
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Пора уже воспользоваться дебагером, в конце концов зачем-то его разработчики делают бессонными ночами..
eval вне форума Ответить с цитированием
Старый 23.05.2013, 15:48   #16
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
Радость

Цитата:
Сообщение от eval Посмотреть сообщение
Пора уже воспользоваться дебагером, в конце концов зачем-то его разработчики делают бессонными ночами..
по подробнее если можно, я в програмировании пусть и не совсем новичок, но и далеко не профи
kent0026 вне форума Ответить с цитированием
Старый 23.05.2013, 15:50   #17
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

очень просто
на первой строке вашего кода ставите брейкпоинт стартуете и далее пошагово смотрите что происходит, анализируете, исправляете, продаете прогу, бухаете на все деньги.
eval вне форума Ответить с цитированием
Старый 23.05.2013, 15:57   #18
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
очень просто
на первой строке вашего кода ставите брейкпоинт стартуете и далее пошагово смотрите что происходит, анализируете, исправляете, продаете прогу, бухаете на все деньги.
да тут однако последний пункт на первое место ставить надо, потому как без него видимо не разобраться)
kent0026 вне форума Ответить с цитированием
Старый 23.05.2013, 15:59   #19
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

12.jpg
Цитата:
form1.ADOQuery2.SQL.Clear;
form1.ADOQuery2.SQL.Text:='update Заказы set Наименование_товара="'+form7.ComboB ox1.Text+'", Цена_товара="'+form7.Edit3.Text+'", колличество="'+form7.Edit4.Text+'", стоимость="'+form7.Edit5.Text+'", способ_оплаты="'+form7.ComboBox2.Te xt+'", дата_оформления="'+form7.Edit7.Text +'", статус="'+form7.ComboBox3.Text+'", продавец="'+form7.ComboBox4.Text+'" where id=:id and n=n';
Взято из последнего поста(не из программы!)
Найдите на картинке ВЫДЕЛЕННЫЕ поля.
Цитата:
изменены только имена полей, поля 10 раз перепечатывал и проверил через access запросом, все работает а в делфи нет
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 23.05.2013 в 16:02.
evg_m вне форума Ответить с цитированием
Старый 23.05.2013, 16:07   #20
kent0026
Пользователь
 
Регистрация: 22.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Вложение 60550

Взято из последнего поста(не из программы!)
Найдите на картинке ВЫДЕЛЕННЫЕ поля.
нет это не то, в программе написано правильно, проверил, извиняюсь за некорректные записи в теме
kent0026 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление значений функции для нескольких значений аргументов и параметров kolychii Помощь студентам 0 08.10.2012 15:49
Создание одного меню для заполнения нескольких листов mned Microsoft Office Excel 15 21.06.2012 14:20
index для каждого поля или нескольких iankov SQL, базы данных 3 11.07.2010 19:54
Отсутствует значение одного или нескольких требуемых параметров (Access) Grandistok БД в Delphi 1 17.01.2010 12:30
Возможно ли использование нескольких столбцов подстановки для одного поля? jonni Microsoft Office Access 10 20.05.2009 22:25