首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Delphi中如何在编辑/插入模式下打开表

在Delphi中如何在编辑/插入模式下打开表
EN

Stack Overflow用户
提问于 2015-09-28 13:39:44
回答 2查看 8.9K关注 0票数 1

我试图用以下代码在Delphi中打开我的表:

代码语言:javascript
复制
for I := 0 to  Datamodule1.ComponentCount - 1 do
  if Datamodule1.Components[I] is TADOTable then
  Begin
    TADOTable(datamodule1.Components[i]).EDIT;
  End;

但是,当我想要发布时,它会给我一个错误,即表没有处于编辑或插入模式。我在这里做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-29 06:18:27

感谢您的反馈。我设法解决了这个问题。在将表设置为编辑模式状态之前,首先检查状态,因为在调用此过程之前,我已经将表置于编辑状态。

代码语言:javascript
复制
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;
票数 0
EN

Stack Overflow用户

发布于 2015-09-28 16:54:25

标准代码的一个示例如下:

代码语言:javascript
复制
// 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;

有关方法的帮助:PostCancelEdit,.TDataSet.

将此示例代码改编为您的工作代码非常简单。

致以问候。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32824523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档