Foxpro:通过vfpoledb检查表是否存在
我通过 System.Data.OleDb (vfpoledb.dll) 访问 .dbf 文件中的数据。如何通过SQL命令判断表是否存在? SQL Server 上类似于以下内容:
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'TheTable'))
BEGIN
--Do Stuff
END
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您有 dbc 文件,您可以查询它以查看该表是否存在。
但实际上您不需要 sql 命令或 dbc 文件来获取该信息。您可以使用 GetSchema 方法直接从 OleDbConnection 获取它。
If you have a dbc file you can query it to see if the table exists.
But really you don't need a sql command or a dbc file to get that information. You can get it straight from the OleDbConnection using the GetSchema method.
此外,如果您连接到的 DBF 表是“免费”表,并且实际上不是连接的“数据库”(.dbc) 的一部分,那么您只需检查文件是否存在...例如在 C# 中通过
Additionally, if you are connecting to DBF tables that are "FREE" tables and NOT actually part of a connected "database" (.dbc), then you can just check for the file's existence or not... Such as in C# via
我不知道如何仅使用 SQL 来执行此操作,但也许您可以使用 File.Exists Method 或者您可以编写一些代码来使用 OleDb 类检查 dbf 是否存在:
我还没有尝试编译此代码,因此它可能需要稍微调整一下。
I don't know how to do it only using SQL but maybe you could check for the existence of the file on disk using the File.Exists Method or you could write some code to check for the existence of the dbf using the OleDb classes:
I have not tried compiling this code so it may need to be tweaked a bit.