C# 检查查询是否存在如果是-删除
我有以下语法可以使用C#删除访问查询…但是如何首先检查查询是否存在C# 检查查询是否存在如果是-删除,c#,ms-access,vsto,C#,Ms Access,Vsto,我有以下语法可以使用C#删除访问查询…但是如何首先检查查询是否存在 DAO.Database dd; DAO.DBEngine db = new DAO.DBEngine(); dd = db.OpenDatabase(path); dd.QueryDefs.Delete(queryName); 我也尝试了这个方法,但收到了一个编译错误'cannotassignto'Equals',因为它是一个'methodgroup' var qd = new DAO.QueryDef(); if (qd.
DAO.Database dd;
DAO.DBEngine db = new DAO.DBEngine();
dd = db.OpenDatabase(path);
dd.QueryDefs.Delete(queryName);
我也尝试了这个方法,但收到了一个编译错误'cannotassignto'Equals',因为它是一个'methodgroup'
var qd = new DAO.QueryDef();
if (qd.Name.Equals = "Hello")
{
dd.QueryDefs.Delete(queryName);
}
尝试以下SQL查询:
SELECT * FROM MSysObjects
WHERE Name="MyQuery" AND Type=5
如果得到结果,则表示查询存在。Type=5用于查询(至少在我查看的数据库中是这样的)。您可以在QueryDefs集合上循环并检查是否找到它
DAO.Database dd;
DAO.DBEngine db = new DAO.DBEngine();
dd = db.OpenDatabase(path);
bool found= false;
foreach(DAO.QueryDef qd in dd.QueryDefs)
{
if (qd.Name == "Hello")
{
found = true;
}
}
if (found)
{
dd.QueryDefs.Delete(queryName);
}