Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить значение в базу на закрытие формы 
:(
    Опции темы
lamravas
Дата 24.6.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Доброго времени суток.
Вообщем суть проблемы.
имееться форма form1 на ней располагаються компоненты:
AdoQuery, dbgrid,  и кнопки управления(создать , редактировать запись)
На нажатие кнопки создать, создаеться форма ввода данных form2 , на ней располагаються:
(компоненты для ввода в базу, данных), и 3 кнопки, Save , Draft, Cancel.
тпереь сама суть: На нажатие кнопки Save  базу в поле jsave должно записаться значение 1.
Чего мне как раз таки и не удаёться.
Вызов формы ввода form2 происходит вот так:
Код

begin
qjobs.Edit;

with tform2.Create(owner)do
begin
if showmodal=mryes then // это на нажатие Save
begin
AdoQueryjsave.Value:='1'; //это мои попытки// это поле куда надо добавить
AdoQuery.Post;
AdoQuery.Refresh;
end;


if showmodal=mrok // на нажатие draft
then AdoQuery.Post

 else
AdoQuery.cancel;
Free;
end;
AdoQuery.Refresh;
 end;


подскажите.

Это сообщение отредактировал(а) lamravas - 24.6.2008, 12:07
PM MAIL   Вверх
Данкинг
Дата 24.6.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



qjobsjsave - это что? smile А вообще, думаю, надо почитать инфу по работе с БД smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
lamravas
Дата 24.6.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



исправил smile  
PM MAIL   Вверх
Rodman
Дата 24.6.2008, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



1. AdoQueryjsave - какой запрос в нем?
2. Для изменения / добавления / удаления используют не POST, а EXECSQL
3. При чем тут закрытие формы?

прочитай сам свой текст и попробуй понять что ты хочешь
PM MAIL WWW Skype GTalk YIM MSN   Вверх
lamravas
Дата 24.6.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Rodman @  24.6.2008,  12:20 Найти цитируемый пост)
1. AdoQueryjsave - какой запрос в нем? 


Код

Select j.*, r.rtypes, cl.name, jt.jtypes, cur.currency, st.status, (PrAdj+apprPr) as Invamount, cl.code,
((PrAdj+apprPr)*exrate) as InvAmAzn , (select sum(amount) from collection where inv_id=invnum group by inv_id) as ColAm,
((PrAdj+apprPr)-(select sum(amount) from collection where inv_id=invnum group by inv_id)) as outsAm


From Jobs j left join request r on j.rtypes=r.id
left join clients cl on j.clid=cl.id
left join jobtypes jt on j.jtypes=jt.id
left join currency cur on j.currency=cur.id
left join jobstatus st on j.Jstat=st.id
where jclose<>1 and jsave<>'1'

Цитата(Rodman @  24.6.2008,  12:20 Найти цитируемый пост)
2. Для изменения / добавления / удаления используют не POST, а EXECSQL 

для изменения я использовал не POST а EDIT . POST это не изменение и добавление , это сохранение измененных/добавленных значений.
Цитата(Rodman @  24.6.2008,  12:20 Найти цитируемый пост)
3. При чем тут закрытие формы? 

Закрытие формы при том что оснавная загвоздка в ней и заключается. На нажатие кнопки Save форма ввода благополучно закрываеться, и именнно в этот момент в поле jsave должно добавиться новое значение 1. С добавлением которого и возникают сложности. С кодом которым я написал в первом посте программа добавляет значение 1 в базу , но при этом зависает намертво.
На кнопку же Draft ничего в базу не добавляеться.

PM MAIL   Вверх
Rodman
Дата 24.6.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Цитата(lamravas @  24.6.2008,  12:35 Найти цитируемый пост)
добавиться новое значение 1
ну не могу я понять как ты при помощи SELECT'a хочешь данные в базу добавить...

делай при помощи INSERT


и какая СУБД я тоже не вижу

PM MAIL WWW Skype GTalk YIM MSN   Вверх
lamravas
Дата 24.6.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Rodman @  24.6.2008,  12:45 Найти цитируемый пост)
ну не могу я понять как ты при помощи SELECT'a хочешь данные в базу добавить...

я не добавляю при помощи Select a  ДОБАВЛЯЕТЬСЯ все через дельфи и компоненет adoquery.
Я же писал что проблем с добавлением остальных данных не возникает , проблема возникает когда я пытаюсь на нажатие кнопки добавить в поле jsave значение 1.

Цитата(Rodman @  24.6.2008,  12:45 Найти цитируемый пост)
делай при помощи INSERT

как вы себе это представляете, учитывая что проблем с добавлением в общем нету. проблема только на закрытие формы.

Цитата(Rodman @  24.6.2008,  12:45 Найти цитируемый пост)
и какая СУБД я тоже не вижу

СУБД микрософт скл 2005

PM MAIL   Вверх
Rodman
Дата 24.6.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 22
Всего: 122



Цитата(lamravas @  24.6.2008,  13:21 Найти цитируемый пост)
я не добавляю при помощи Select a  ДОБАВЛЯЕТЬСЯ все через дельфи и компоненет adoquery.
не путай теплое с тяжелым...

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

Цитата(lamravas @  24.6.2008,  13:21 Найти цитируемый пост)
как вы себе это представляете, учитывая что проблем с добавлением в общем нету
не было бы проблем - не писал бы!

логику проверь

PM MAIL WWW Skype GTalk YIM MSN   Вверх
lamravas
Дата 24.6.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Rodman @  24.6.2008,  13:31 Найти цитируемый пост)
не путай теплое с тяжелым...

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

слушай ты что издеваешься? Я же по русски пишу что мне нет разница какой там запрос. Значения прекрасно добавляються и с Селектом.

Цитата(Rodman @  24.6.2008,  13:31 Найти цитируемый пост)
не было бы проблем - не писал бы!

логику проверь

ты вырезал кусок моего сообщения и радуешься , я ж написал что нет проблем с добавлением  остальных значений, проблема в в добавлениии именно одного значения и именно при закрытии формы ввода, остальных значений.
А Вы тут до меня помоему докалываетесь.
Вот я набрал данные которые будут вноситься в базу, потом у меня на это же форме ввода имеетья 3 кнопки Save, Draft and Cancel.
На нажатие любой кнопки форма закрываеться.
Так вот мне на нажатие кнопки Save необходимо чтобы в базу в значение поля jsave занеслось значение 1. 

 smile

Добавлено через 5 минут и 37 секунд
помогите люди добрые, а то я совсем  smile 

Это сообщение отредактировал(а) lamravas - 24.6.2008, 13:43
PM MAIL   Вверх
Deniz
Дата 24.6.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(lamravas @  24.6.2008,  16:42 Найти цитируемый пост)
я ж написал что нет проблем с добавлением  остальных значений, проблема в в добавлениии именно одного значения и именно при закрытии формы ввода, остальных значений.
а как ты добавляешь другие поля?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
lamravas
Дата 24.6.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Deniz @  24.6.2008,  13:50 Найти цитируемый пост)
а как ты добавляешь другие поля? 

Код

begin
adoquery.Append;                  // есть такой компонент ADOQUERY знакомы наверное, у него есть полезная функция append добавляет новую строку в базу , так же на форме ввода имеються компоненты которые связываються с полями бд, используя adoquery
with tform2.Create(owner)do //  собственно вызов формы 2 (формы ввода)
begin
if showmodal=mrok then    // если будет нажата кнопа ok на форме ввода 
adoquery.Post  //то сохранить в базе сделанные изменения
else
adoquery.Cancel;// не сохранять
  Free; // свобода
end;
adoquery.Refresh;
end;

приблизительно вот так и не говорите что так они не добавляються, я вроде пока с ума не сошел
У меня вот так вот все данные прекрасно добавляються и редактируться
PM MAIL   Вверх
lamravas
Дата 24.6.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Вы чо издеветесь чтоли ребята?а?
Я ж не брежу! у меня работает добавление записсие именно так никак иначе я не добавляю данные в БД.
PM MAIL   Вверх
Deniz
Дата 24.6.2008, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Как-то код не красиво смотрится
Лучше уж:
Код
with tform2.create(self) do
begin
  i:=showmodal;
  free;
end;
case i of
  mrOK: begin обработка кнопки OK end;
  mrYes: begin обработка кнопки YES end;
end;

В твоем первом примере from2.showmodal вызывается 2 раза. Так и надо?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
lamravas
Дата 24.6.2008, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 23.1.2008

Репутация: нет
Всего: нет



Цитата(Deniz @  24.6.2008,  14:21 Найти цитируемый пост)
В твоем первом примере from2.showmodal вызывается 2 раза. Так и надо? 

блин точно чото я совсем заглючил , я ж 2 раза шов модал вызвал вот почему такая хрень
Спасибо брат щас попробую исправить

Добавлено через 7 минут и 5 секунд
а и еще сорри а как объявить i ?
PM MAIL   Вверх
Deniz
Дата 24.6.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(lamravas @  24.6.2008,  17:24 Найти цитируемый пост)
а и еще сорри а как объявить i ? 
integer


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.