Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TQuery не сохраняет запись 
:(
    Опции темы
NiJazz
  Дата 3.4.2004, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

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



Я понимаю, что можно написать запрос, но...

Такой участок кода:

Код
with Query1 do begin
  Append;
  FieldByName('OrgName').AsString := edOrgName.Text;
  FieldByName('HeadF').AsString := edHeadF.Text;
  Post;
end;

Записи в таблице не появляется, хотя событие AfterPost точно срабатывает. В чём может быть дело?

PM MAIL   Вверх
NiJazz
Дата 4.4.2004, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

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



Может, в каких свойствах дело?
Помогите, не запросы же писать!!!
PM MAIL   Вверх
remax
Дата 4.4.2004, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент
**


Профиль
Группа: Участник Клуба
Сообщений: 686
Регистрация: 7.4.2002
Где: Украина, Харьков

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



Query должен содержать "живой" запрос. т.е. в запросе должны быть задействованы все обязательные поля и причем одной таблицы! Тогда, быть может, что то получится. Но лучше, написать соответствующий запрос на добавление новой записи.


--------------------
Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку
PM MAIL ICQ Skype   Вверх
<Spawn>
Дата 4.4.2004, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



Давно с Query Не работал, но перове что приходит в голову - ты Commit делаешь?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
NiJazz
Дата 5.4.2004, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

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



[/quote]ты Commit делаешь? [quote]
А что это?
PM MAIL   Вверх
Maverick
Дата 5.4.2004, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

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



Цитата
ты Commit делаешь?
Цитата

А что это?


В InterBase - подтверждение выполненных изменений.... Типа Post только на уровне СУБД...

Цитата
Код
with Query1 do begin
  Append;
  FieldByName('OrgName').AsString := edOrgName.Text;
  FieldByName('HeadF').AsString := edHeadF.Text;
  Post;
end;


Я могу ошибаться, но где-то здесь должно фигурировать свойство поля Value.... Не могу счас проверить, но вот так примерно...

FieldByName('OrgName').VALUE.AsString := edOrgName.Text;



--------------------
smile
PM ICQ GTalk   Вверх
Serggggg
Дата 5.4.2004, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.12.2003
Где: Донецк, Украина

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



remax абсолютно прав! Если добавляешь запись, то заполнены должны быть ВСЕ поля запроса, на которые установлен Constraint (т.е. проверка на ненулевое значение). Это касается и всяких-разных ID, которые входят в таблицу. Запрос, опять же, будет работать только с параметром RequestLive=True и только в том случае, если он выбирает данные ои ОДНОЙ таблицы.

--------------------
C уважением, Serggggg.
PM MAIL ICQ   Вверх
Akella
Дата 5.4.2004, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



А как же RequestLive? Должно быть в True;

Запрос должень быть простым, выборка из двух таблиц не допускается.

А почему ты не пользуешься компонентой TTable. Мне кажеться, что сним работать легче.
PM MAIL   Вверх
Serggggg
Дата 5.4.2004, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.12.2003
Где: Донецк, Украина

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



dsergey, ИМХО TTable кушает побольше ресурсов. К тому же Query дает более гибкие возможности для выбора данных. Опять же - ИМХО. Я, например, пользуюсь TTable только тогда, когда не могу управиться одним запросом.
--------------------
C уважением, Serggggg.
PM MAIL ICQ   Вверх
Akella
Дата 7.4.2004, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



У меня есть база телефонов на 650 тысяч записей. Запуск приложения с TQuery происходит около 10 мин и сразу видно как память и процессор нагружаются, а с TTable - почти моментально и фильтрация работает быстрее, и нет проблем с памятью и процессором. (Paradox+BDE, WinXP, Cel1700, RAM256).
Интересно, а если создать алиас, то быстрее будет или нет. (а так все работает через DB.Params.Add('c:\Phone\Data\...'))

Это сообщение отредактировал(а) dsergey - 7.4.2004, 08:24
PM MAIL   Вверх
Serggggg
Дата 7.4.2004, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 12.12.2003
Где: Донецк, Украина

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



dsergey, а почему не через Alias? У меня БД на Oracle! Просто, когда становится вопрос об использовании нескольких Grid'ов на одной форме, например, то я спасаюсь только запросами! Хотя... Как кому удобно...
А вот Alias попробуй прописать - авось увеличит быстродействие.

--------------------
C уважением, Serggggg.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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