代码不删除表

时间:2014-04-23 19:18:26

标签: c# dao

我使用非常相似的语法来删除Query,但是当我尝试检查表是否存在并删除它时,表实际上并未删除。我错过了一个步骤或使用了错误的语法吗?

string path = "C:\\Database\\EmployeeInfo\\EmpInfo.mdb";
bool found = false;
DAO.DBEngine db = new DAO.DBEngine();
dd = db.OpenDatabase(path);
try
{
  string[] tableNames = new string[3]
  {
    supName + "_Profile1",
    supName + "_Profile2",
    supName + "_Profile3",
  };
  for (int q = tableNames.GetLowerBound(0); q <= tableNames.GetUpperBound(0); q++)
  {
    foreach (DAO.TableDef tabledef in dd.TableDefs)
    {
      string newName = Convert.ToString(q);
      if (tabledef.Name == newName)
      {  
        found = true;
      }
      if (found)
      {
        dd.TableDefs.Delete(newName);
      }
    }
  }
}

编辑---简单语法错误....代码应该是:

string newName = tableNames[q];

1 个答案:

答案 0 :(得分:1)

看起来你打算建立新名字?目前你有

  

string newName = Convert.ToString(q);

所以newName只是一个数字。不太可能匹配您的表名。