Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Почему появляется ошибка "Dataset not in edit or inser mode"   Найти похожие ветки 

 
MakedoneZ ©   (2005-01-31 17:40) [0]

Почму выдает ошибку "Dataset not in edit or inser mode"
Это из-за Table.Post,да?
Он добавляет последнее значение введенное в TDBGrid,но все равно выдает ошибку.
Как исправить?

procedure TfrmWomen.btnSaveAndCloseClick(Sender: TObject);

begin

 Table.Post;
 {Освобождаем ресурсы}
 Table.Close;
 Table.Free;
 DataSource.Free;
 HALT;
end;


 
Desdechado ©   (2005-01-31 17:58) [1]

Post нужен только после Edit или Insert
поэтому поставь проверку
if( Table.State in [dsEdit, dsInsert] ) then
 Table.Post;
а вместо Halt лучше Application.Terminate, хотя тоже грубо


 
Соловьев ©   (2005-01-31 18:02) [2]


> а вместо Halt лучше Application.Terminate, хотя тоже грубо

Тут все грубо :)
где блок try?
Какой смысл генерить таблицу? Уж лучше TQuery.


 
MakedoneZ ©   (2005-01-31 18:20) [3]

Огромное спасибо!


 
msguns ©   (2005-01-31 18:40) [4]

Каким образом Post освобождает ресурсы ?
И зачем free ? Да еще два раза ?

Очень напоминает как убивали Гришку Распутина: сначала обкормили стрихнином, затем изрешетили пулями, а потом уже бросили под лед в Неву. И все равно, по заключению врачей, он жил еще под водой довольно долго.


 
MakedoneZ ©   (2005-01-31 19:58) [5]

Я делитант! Не хрена не умею! И вообще не имею права называться программистом. В Delphi вообще ничего не понимаю. Мое дело печатать документы и то не редактировать,а просто набирать текст.Так просто разбираюсь в компьютерах.
Это хотели слышать. Теперь приятно?


 
Anatoly Podgoretsky ©   (2005-01-31 20:24) [6]

Нет мы хотели услышать причины такого странного кода, вот тогда может быть подскали правильное решение. На мой взгляд здесь только одна строчка нормальная Table.Close;, но это так предположение, может так и нужно, но весьма сомнительно - особенно HALT, прямой путь к разного рода неприятностям.
Хотя если не хочешь рассказывать, то не рассказывай, а продолжай наезды, в то время когда народ к тебе с душой отнесся.
Можно и мне наезд? А то несправедливо. делитант надо писать так дилетант.


 
MakedoneZ ©   (2005-01-31 20:42) [7]

Anatoly Podgoretsky >
Мне нравиться ваш подход к делу :-) :-)
Да вы правы,тут я лишнего сказал,просто вспылчивый.

Halt заменил на Application.Terminate и добавил if( Table.State in [dsEdit, dsInsert] ) then
Table.Post;
А остальное поверьте нужно.

Извиняюсь.
Просто понимаете...часто я задаю вопрос,а те кто отвечают говорят "грубо,примитивно,почему так почему этак",так и неответив на вопрос.
На сколько бы кто-то не был умным,всегда найдеться кто-то умнее.
И что если он будет над вами смеяться? Будет ли вам приятно?

PS. А насчет орфографии я живу в Азербайджане.
   И очевидно Русский язык знаю неважно.


 
Anatoly Podgoretsky ©   (2005-01-31 21:02) [8]

MakedoneZ ©   (31.01.05 20:42) [7]
Это просто пример где грубость, а где нет.

Уже лучше, особенно if. Нудно ли остальное или нет, сказать можешь только ты, но скрывая подробности, ты возможно не получишь более правильного решения.
Вероятнее всего
Table.Close;
Table.Free;
DataSource.Free;
Лишнее, поскольку ты далее закрываешь приложение и все эти действия будут выполнены автоматически.

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

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


 
MakedoneZ ©   (2005-01-31 21:41) [9]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
3-1106726495
Yeg
2005-01-26 11:01
2005.02.27
Полное удаление


4-1105332498
BoxTer
2005-01-10 07:48
2005.02.27
Принтер А3


14-1107500752
Zhekson
2005-02-04 10:05
2005.02.27
время ожидания Scandisk_а в XP


6-1098027454
Grigoryan
2004-10-17 19:37
2005.02.27
Свой smtp-сервер


14-1107468368
Usser
2005-02-04 01:06
2005.02.27
Как правильно произносить?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский