Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Почему появляется ошибка "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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
6-1103614493
Layner
2004-12-21 10:34
2005.02.27
Господа, подскажите, с помощью какого компанента INDY можно


14-1107350591
VID
2005-02-02 16:23
2005.02.27
Нужна русская дока по WinRoute 6.x.x


1-1108349494
ТехникПТО
2005-02-14 05:51
2005.02.27
Сохранение лога чата


1-1108367376
JohnS
2005-02-14 10:49
2005.02.27
XML


9-1101067334
некто
2004-11-21 23:02
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский