Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2015, 18:23   #1
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию dataset not in edit or insert mode

Здравствуйте!
Добавляю данные в таблицу, при нажатии на кнопку "ОК" выскакивает эта ошибка "dataset not in edit or insert mode".

Код на добавление
Form3.tbl1.Insert;

код на удаление
Form3.tbl1.Delete;

Как Эту ошибку исправить?
Анжеликааа вне форума Ответить с цитированием
Старый 05.01.2015, 19:55   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,050
По умолчанию

Дык написано же: dataset not in edit or insert mode.
Это значит, что перед редактированием полей нужно выполнить метод Edit, а перед заполнением полей при вставке метод Append или Insert
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.01.2015, 20:55   #3
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

Но я это и использую, но почему тогда ошибка выбивает?
если на других формах все хорошо работает
Анжеликааа вне форума Ответить с цитированием
Старый 05.01.2015, 20:58   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,050
По умолчанию

Цитата:
Сообщение от Анжеликааа Посмотреть сообщение
Но я это и использую, но почему тогда ошибка выбивает?
если на других формах все хорошо работает
То вам кажется, что используете правильно и к месту
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.01.2015, 21:05   #5
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

Я обратилась за помощью, т.к. на этой единственной форме выбивает ошибку, когда я хочу добавить данные.
вы можете объяснить ее?
Анжеликааа вне форума Ответить с цитированием
Старый 05.01.2015, 21:07   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,050
По умолчанию

Код формы как-то не очень заметен, маленький очень наверно. А так уже все объяснено, по сути между прочим
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.01.2015, 21:09   #7
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Дык написано же: dataset not in edit or insert mode.
Это значит, что перед редактированием полей нужно выполнить метод Edit, а перед заполнением полей при вставке метод Append или Insert
Хорошо, где это именно записать? перед какой операцией?
Если удаление и редактирование работают на этой форме, а на добавление выскакивает ошибка, т.е. открываются поля, но когда я жму ОК выскакивает ошибка, но данные сохраняются

Последний раз редактировалось Анжеликааа; 05.01.2015 в 21:11.
Анжеликааа вне форума Ответить с цитированием
Старый 05.01.2015, 22:59   #8
Анжеликааа
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 30
По умолчанию

весь код на форму

procedure TForm3.BitBtn1Click(Sender: TObject);
var filtr, add: string;
begin
tbl1.filtered:=false;
filtr:='';
if length(edit1.text) > 0 then
filtr:= 'fio LIKE '+ #39 + Edit1.Text + '%' + #39;
if length(edit2.text) > 0 then
begin
if length(filtr) > 0 then add:= ' and ' else add:='';
filtr:=filtr + add + 'adres LIKE '+ #39 + Edit2.Text + '%' + #39;
end;
if length(edit3.text) > 0 then
begin
if length(filtr) > 0 then add:= ' and ' else add:='';
filtr:=filtr + add + 'doljnost LIKE '+ #39 + Edit3.Text + '%' + #39;
end;
if length(filtr) > 0 then
begin
tbl1.Filter:= filtr;
tbl1.filtered:=true;
end
else Showmessage('Все поля пусты!');
end;


procedure TForm3.BitBtn2Click(Sender: TObject);
var filtr, add: string;
begin
tbl1.Filter:= filtr;
tbl1.filtered:=true;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
tbl1.Refresh;
end;

procedure TForm3.BitBtn3Click(Sender: TObject);
begin
Form3.tbl2.Delete;
end;

procedure TForm3.BitBtn4Click(Sender: TObject);
begin
Form10.Show;
Form10.frxReport1.ShowReport;
end;

procedure TForm3.btn1Click(Sender: TObject);
begin
Form3.tbl1.Insert;
dbedtfio.Visible:=true;
dbedtadres.Visible:=true;
dbedtdoljnost.Visible:= true;
dbedttelefon.Visible:=true;
dbedtoklad.Visible:=true;
lbl1.Visible:=true;
lbl2.Visible:=false;
lbl3.Visible:=true;
lbl4.Visible:=true;
lbl5.Visible:=true;
lbl6.Visible:=true;
lbl7.Visible:=true;
lbl8.Visible:=true;
lbl9.Visible:=true;
btn4.Visible:=true;
btn5.Visible:=true;
btn6.Visible:=true;
Form3.grp1.Visible:=true;
Form3.dtp1.Visible:=true;
Form3.DateTimePicker1.Visible:=true ;
end;

procedure TForm3.btn2Click(Sender: TObject);
begin
form3.tbl1.Edit;
dbedtfio.Visible:=true;
dbedtadres.Visible:=true;
dbedtdoljnost.Visible:= true;
dbedttelefon.Visible:=true;
dbedtoklad.Visible:=true;
lbl1.Visible:=false;
lbl3.Visible:=true;
lbl2.Visible:=true;
lbl4.Visible:=true;
lbl5.Visible:=true;
lbl6.Visible:=true;
lbl7.Visible:=true;
lbl8.Visible:=true;
lbl9.Visible:=true;
btn4.Visible:=true;
btn5.Visible:=true;
btn6.Visible:=true;
Form3.grp1.Visible:=true;
Form3.dtp1.Visible:=true;
Form3.DateTimePicker1.Visible:=true ;
end;

procedure TForm3.btn3Click(Sender: TObject);
begin
Form3.tbl1.Delete;
end;

procedure TForm3.btn4Click(Sender: TObject);
begin
Form3.tbl1.FieldByName('data_priema ').AsString:=FormatDateTime('dd/mm/yyyy', Form3.dtp1.Date);
Form3.tbl1.FieldByName('data_rogden ija').AsString:=FormatDateTime('dd/mm/yyyy',Form3.DateTimePicker1.Date);
{if Form4.tbl1.Modified then
begin
Form3.tbl1.FieldByName('id_rabotnik a').Value := Form4.tbl1.FieldByName('id_rabotnik a').Value;
Form4.tbl1.Post;
end; }
Form3.tbl1.Post;
// Form3.tbl2.Post;
dbedtfio.Visible:=False;
dbedtadres.Visible:=False;
dbedtdoljnost.Visible:= false;
dbedttelefon.Visible:=False;
dbedtoklad.Visible:=False;
lbl1.Visible:=False;
lbl2.Visible:=False;
lbl3.Visible:=False;
lbl4.Visible:=False;
lbl5.Visible:=False;
lbl6.Visible:=False;
lbl7.Visible:=False;
lbl8.Visible:=False;
lbl9.Visible:=False;
btn4.Visible:=False;
btn5.Visible:=False;
btn6.Visible:=False;
Form3.grp1.Visible:=False;
Form3.dtp1.Visible:=False;
Form3.DateTimePicker1.Visible:=Fals e;
end;

procedure TForm3.btn5Click(Sender: TObject);
begin
Form3.tbl1.Cancel;
Form3.tbl2.Cancel;
dbedtfio.Visible:=False;
dbedtadres.Visible:=False;
dbedtdoljnost.Visible:= false;
dbedttelefon.Visible:=False;
dbedtoklad.Visible:=False;
lbl1.Visible:=False;
lbl2.Visible:=False;
lbl3.Visible:=False;
lbl4.Visible:=False;
lbl5.Visible:=False;
lbl6.Visible:=False;
lbl7.Visible:=False;
lbl8.Visible:=False;
lbl9.Visible:=False;
btn4.Visible:=False;
btn5.Visible:=False;
btn6.Visible:=False;
Form3.grp1.Visible:=False;
Form3.dtp1.Visible:=False;
Form3.DateTimePicker1.Visible:=Fals e;
end;

procedure TForm3.btn6Click(Sender: TObject);
begin
form3.tbl2.Insert;
Form4.BitBtn3.Visible:=true;
Form4.Show;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
dbedtfio.Visible:=False;
dbedtadres.Visible:=False;
dbedtdoljnost.Visible:= false;
dbedttelefon.Visible:=False;
dbedtoklad.Visible:=False;
lbl1.Visible:=False;
lbl2.Visible:=False;
lbl3.Visible:=False;
lbl4.Visible:=False;
lbl5.Visible:=False;
lbl6.Visible:=False;
lbl7.Visible:=False;
lbl8.Visible:=False;
lbl9.Visible:=False;
btn4.Visible:=False;
btn5.Visible:=False;
btn6.Visible:=False;
Form3.grp1.Visible:=False;
Form3.dtp1.Visible:=False;
Form3.DateTimePicker1.Visible:=Fals e;
end;

procedure TForm3.grp1Exit(Sender: TObject);
begin
if Form3.tbl1.Modified then
Form3.tbl1.Post;
end;



procedure TForm3.N1Click(Sender: TObject);
begin
Form2.Show;
Form3.Hide;
end;

procedure TForm3.N3Click(Sender: TObject);
begin
Form1.close;
end;

end.
Анжеликааа вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка ADOQuery:DATAset not in edit or insert mode Novichok95 БД в Delphi 4 05.11.2012 18:00
ошибка dataset not in edit or insert mode Chicharrr Помощь студентам 2 06.06.2012 18:34
Ошибка dataset not in edit or insert mode. thebrownie Общие вопросы Delphi 3 12.02.2012 18:47
dataset is not edit or insert mode Drugnir Общие вопросы C/C++ 1 26.09.2011 09:56