我试图用以下代码在Delphi中打开我的表:
for I := 0 to Datamodule1.ComponentCount - 1 do
if Datamodule1.Components[I] is TADOTable then
Begin
TADOTable(datamodule1.Components[i]).EDIT;
End;但是,当我想要发布时,它会给我一个错误,即表没有处于编辑或插入模式。我在这里做错了什么?
发布于 2015-09-29 06:18:27
感谢您的反馈。我设法解决了这个问题。在将表设置为编辑模式状态之前,首先检查状态,因为在调用此过程之前,我已经将表置于编辑状态。
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;发布于 2015-09-28 16:54:25
标准代码的一个示例如下:
// 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,Cancel,Edit,.TDataSet.
将此示例代码改编为您的工作代码非常简单。
致以问候。
https://stackoverflow.com/questions/32824523
复制相似问题