如何检查数据库中是否存在数据库?
我可以使用Api.JetAttachDatabase
和Api.JetOpenDatabase
打开现有数据库,并使用Api.JetCreateDatabase
创建一个新数据库。但我找不到允许我检查数据库是否存在的API。
我是否真的必须从Api.JetAttachDatabase
捕获异常以检测db是否存在?
答案 0 :(得分:1)
我会因缺乏细节而道歉,因为我正在度假并且没有方便的源代码。 :)这是我的头脑。
o Api.JetAttachDatabase调用JetApi.JetAttachDatabase。
o JetApi.JetAttachDatabase返回错误代码(这就是你想要的!)。
o Api.JetAttachDatabase将其转换为异常。
最大的问题可能是JetApi.Xxx可能不公开。它可能只是内部的。我不得不问原作者是否有理由不公开。如果没有,我可以在ManagedEsent的未来版本中进行更改。
抱歉答案不确定。
嘿,我只是想知道:CLR函数怎么样,比如File.Exists()?
-Martin
答案 1 :(得分:0)
你不应该捕获异常,返回类型返回一个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
}