检查是否存在数据库



如何检查消息中是否存在数据库?

我可以使用Api.JetAttachDatabaseApi.JetOpenDatabase打开一个现有的数据库,并使用Api.JetCreateDatabase创建一个新的数据库。但是我找不到允许我检查DB是否存在的API。

我真的必须从Api.JetAttachDatabase捕获一个异常来检测db是否存在吗?

我很抱歉缺少细节,因为我在度假,没有源代码。:)这是我突然想到的。

o Api。

o JetApi。JetAttachDatabase返回一个错误代码(这是您想要的!)。

o Api。JetAttachDatabase将其转换为异常。

最大的问题可能是JetApi。Xxx可能不是公开的。它可能只是内部的。我得问问原作者是否有理由不公开。如果没有,我可以在未来版本的ManagedEsent中进行更改。

抱歉,我的回答不确定。

嘿,我只是想知道:像File.Exists()这样的CLR函数怎么样?

再也

你不应该捕获异常,返回类型返回一个JET_ERR类型,它会让你知道是否有问题,如果你正在寻找一个简单的bool检查,我相信你可能不太幸运,或者必须自己编写。

源:

http://msdn.microsoft.com/en-us/library/gg294074.aspx

http://msdn.microsoft.com/en-us/library/gg294092.aspx

const JET_errSuccess = 0;
result = JetCreateDatabase(...);
if(result != JET_errSuccess)
{
  //throw error
}

相关内容

  • 没有找到相关文章

最新更新