Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вылетает


Страницы:   1 2

div ©   (2003-06-19 13:55:00) 

Здравствуйте. Имеется база Рaradox, вызываю Edit, потом пытаюсь записать - ругается "dataset not in edit or insert mode"

with DataModule1.Chet do begin
if not CanModify then
begin
ShowMessage("Редактирование запрещено");
FormWork.Bit_D.Visible:=False;
end
else
begin
s:=StrToFloat(Edit3.Text);
Edit; // перевожу в режим редактирования
if State in [dsEdit, dsInsert] then ShowMessage("Испавлять можно!!");
// Специально вставил, сообщение выдается, т.е вроде все в норме, но после строки
FieldByName("SUM_N").asFloat:=S;
// и выскакивает ошибка
// dataset not in edit or insert mode
FieldByName("SUM_V").AsFloat:=FieldByName("Ost_v").AsFloat+s;
Post;
FlushBuffers;
end;
end;

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


Соловьев   (2003-06-19 14:56:00) [21]


> Это TTable, в ней > 140 тыс. строк

мда.... а зачем же столько?
а активна хоть? Active=true?


div   (2003-06-19 14:52:00) [22]

Это TTable, в ней > 140 тыс. строк


DevMaster   (2003-06-19 14:48:00) [23]

1. Одна из причин(возможно)
Обрати внимание на запись!!! Есть ли запись хоть одна в базе???!!! если нет то нужно писать Insert
if Table1.CountRec > 0 then ~чтото в этом роде
Edit else Insert(Append)


Max Zyuzin   (2003-06-19 14:47:00) [24]

>div © (19.06.03 13:55)
А что у нас из себя представляет DataModule1.Chet ? TQuery или TTable


div   (2003-06-19 14:44:00) [25]

Так у меня ее раньше и не было. Это потом, чтобы удостовериться.


Соловьев   (2003-06-19 14:39:00) [26]

убери тогда эту строчку:
if State in [dsEdit, dsInsert] then ShowMessage("Испавлять
> можно!!");


div   (2003-06-19 14:25:00) [27]

а зачем,
if State in [dsEdit, dsInsert] then ShowMessage("Испавлять
> можно!!");

я это просто вставил, чтобы себя проверить


Соловьев   (2003-06-19 13:59:00) [28]


> редактирования
> if State in [dsEdit, dsInsert] then ShowMessage("Испавлять
> можно!!");
> // Специально вставил, сообщение выдается, т.е вроде
> все в норме, но после строки
> FieldByName("SUM_N").asFloat:=S;
> // и выскакивает ошибка
> //dataset not in edit or insert mode
> FieldByName("SUM_V").AsFloat:=FieldByName("Ost_v").AsFloat+s;
> Post;
> FlushBuffers;
> end;

а где begin после then


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо