如何在 Delphi 中以 EDIT/INSERT 模式打开表格
How to Open tables in EDIT/INSERT mode in Delphi
我尝试使用以下代码在 Delphi 中打开我的表格:
for I := 0 to Datamodule1.ComponentCount - 1 do
if Datamodule1.Components[I] is TADOTable then
Begin
TADOTable(datamodule1.Components[i]).EDIT;
End;
但是当我想 post 时,它给我一个错误,提示表格未处于 EDIT 或 INSERT 模式。我在这里做错了什么?
标准代码示例如下:
// open the table
ADOTable1.Open; // Mode = dsBrowse
// Enter in Edit mode
ADOTable1.Edit; //Mode = dsEdit
// Change field values
ADOTAble1.FieldByName('NOM').AsString := 'Lou';
...
// Try to save
try
ADOTable1.Post;
except
// Capture the error
// Show Message
//...
end;
查看方法帮助:Post、取消、编辑、 ... TDataSet.
将此示例代码改编为您的工作代码很简单。
此致。
感谢您的反馈。我设法解决了这个问题。在我将 table 设置为编辑模式状态之前,我首先检查状态,因为在调用此过程之前我已经将 table 置于编辑状态
for I := 0 to Datamodule1.ComponentCount - 1 do
if Datamodule1.Components[I] is TADOTable then
Begin
if not (TADOTable(datamodule1.Components[i]).State in [dsEdit]) then
TADOTable(datamodule1.Components[i]).EDIT;
End;
我尝试使用以下代码在 Delphi 中打开我的表格:
for I := 0 to Datamodule1.ComponentCount - 1 do
if Datamodule1.Components[I] is TADOTable then
Begin
TADOTable(datamodule1.Components[i]).EDIT;
End;
但是当我想 post 时,它给我一个错误,提示表格未处于 EDIT 或 INSERT 模式。我在这里做错了什么?
标准代码示例如下:
// open the table
ADOTable1.Open; // Mode = dsBrowse
// Enter in Edit mode
ADOTable1.Edit; //Mode = dsEdit
// Change field values
ADOTAble1.FieldByName('NOM').AsString := 'Lou';
...
// Try to save
try
ADOTable1.Post;
except
// Capture the error
// Show Message
//...
end;
查看方法帮助:Post、取消、编辑、 ... TDataSet.
将此示例代码改编为您的工作代码很简单。
此致。
感谢您的反馈。我设法解决了这个问题。在我将 table 设置为编辑模式状态之前,我首先检查状态,因为在调用此过程之前我已经将 table 置于编辑状态
for I := 0 to Datamodule1.ComponentCount - 1 do
if Datamodule1.Components[I] is TADOTable then
Begin
if not (TADOTable(datamodule1.Components[i]).State in [dsEdit]) then
TADOTable(datamodule1.Components[i]).EDIT;
End;