Форум: "Базы";
Текущий архив: 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.038 c