从c#(.NET)禁用fox pro表触发器

从c#(.NET)禁用fox pro表触发器,c#,.net,triggers,odbc,foxpro,C#,.net,Triggers,Odbc,Foxpro,我需要向fox pro表中添加一行,在插入该行之前,我需要禁用应用于fox pro表的触发器,并在插入该行后重新启用该触发器 有没有办法从c#NET上禁用fox pro触发器 感谢您提供有关此方面的任何提示。不幸的是,即使使用ExecScript,也没有直接的方法可以做到这一点。使用ExecScript,您可以运行delete triggercode,它将返回true,不会出现任何错误,就像它执行了一样。但它不会删除触发器,也不会返回触发器仍然完好无损的信息。不幸的是,您甚至不能使用ExecSc

我需要向fox pro表中添加一行,在插入该行之前,我需要禁用应用于fox pro表的触发器,并在插入该行后重新启用该触发器

有没有办法从c#NET上禁用fox pro触发器


感谢您提供有关此方面的任何提示。

不幸的是,即使使用ExecScript,也没有直接的方法可以做到这一点。使用ExecScript,您可以运行
delete trigger
code,它将返回
true
,不会出现任何错误,就像它执行了一样。但它不会删除触发器,也不会返回触发器仍然完好无损的信息。不幸的是,您甚至不能使用ExecScript绕过VFPOLEDB不支持的代码

唯一的方法是创建dbc的副本(如果您足够勇敢,可以使用VFP
modify database
-或C#low-level),并且在该副本中具有相同的表定义,而不使用触发器

例如:

  • 复制现有的.dbc(.dct和.dcx)

  • 修改表以删除触发器(或在代码中执行此操作:)

  • 用其他名称保存此.dbc、.dct和.dcx
  • 还原现有的.dbc、.dct、.dcx
  • 当您需要它时,您可以替换.dbc、.dct、.dcx文件,完成后再放回去
这很麻烦,但总比没有好


您可能希望有一个VFP可执行文件,您可以使用参数调用它,并为您执行插入操作。

我能找到的唯一相关内容是一本书:)它可能对您有所帮助。正如我在我的“评论”中所写的,这个“可能”对他有帮助。也许不是。我并没有声称这是解决他的问题的正确方法。这就是为什么我把它写成“评论”而不是“回答”的原因。我只是需要帮助。我做了一些搜索,发现了一本书,提供了一个“临时禁用福克斯专业触发器”问题的解决方案。所以他可以决定买不买。这是一个选择@anilcemsimsek,这只显示了如何在VFP中实现它,不是吗?问题是如何用C#来做。毕竟,要在VFP中实现这一点,你不需要买书,按F1键,你就有了。
Delete Trigger On ('yourTableName') For Insert