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

Вниз

ошибка при сохранени "Table1: DataSet not in edit or insert mode"   Найти похожие ветки 

 
RagapuK   (2006-08-30 23:06) [0]


unit t1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids;

type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
DBNavigator1: TDBNavigator;
Table1: TTable;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
table1.Active:=false;
table1.TableName:=opendialog1.FileName;
table1.Active:=true;
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
table1.Post;
table1.Active:=true;
savedialog1.FileName:=table1.TableName;
savedialog1.Execute;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
table1.ReadOnly:=false;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
table1.RecNo:=2;
table1.Edit;
table1.FieldByName("Name").AsString:="AAAAAAAAAA";
end;

end.


Хочу сохранить таблицу после модификации...
Если я изменял таблицу вручную, то все ОК, а если программно, то вылазиет ошибка

"Table1: DataSet not in edit or insert mode"....

А сохранение у меня делается так:

table1.Post;
table1.Active:=true;
savedialog1.FileName:=table1.TableName;
savedialog1.Execute;

Help me, please...


 
dolmat   (2006-08-31 09:28) [1]


> table1.Post;
> table1.Active:=true;
> savedialog1.FileName:=table1.TableName;
> savedialog1.Execute;

изврат полнейший!
table1.Post выполняется только для открытой для редактирования записи. Если таковой нет тогда ошибка.
изменить надо так
if table1.state in [dsedit, dsinsert] then  table1.Post;


 
RagapuK   (2006-09-03 19:15) [2]

Спасибо!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.049 c
2-1160738276
Фесс
2006-10-13 15:17
2006.10.29
Стек и как с ним работать


15-1160409437
Kerk
2006-10-09 19:57
2006.10.29
ВЛАДИМИР ПУТИН: СЕМЬ ЛЕТ У ВЛАСТИ


6-1149106171
Тфьу
2006-06-01 00:09
2006.10.29
Почему разные crc32?


2-1160727006
horse
2006-10-13 12:10
2006.10.29
System error code 1400. Недопустимый дескриптор окна.


15-1160147122
z80maniac
2006-10-06 19:05
2006.10.29
Прямой доступ к памяти в WinXP