如何检查消息中是否存在数据库?
我可以使用Api.JetAttachDatabase
和Api.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.aspxconst JET_errSuccess = 0;
result = JetCreateDatabase(...);
if(result != JET_errSuccess)
{
//throw error
}