C++爱好者 - 网友留言

1157阅读 0评论2008-12-17 3JTwF2T
分类:

          AnsiString TableName="s"+IntToStr(i)+tableday;
          AnsiString ifexit="SELECT  count(*)  FROM "+TableName;
          DataModule1->ADOCommand->CommandText=ifexit;

          try{
             DataModule1->ADOCommand->Execute();
             //如果表存在,则删除
             AnsiString del="Drop Table "+TableName;
             DataModule1->ADOCommand->CommandText=del;
             DataModule1->ADOCommand->Execute();

             //建立在try中删除的表
             AnsiString SQL="Create Table "+TableName;
                     SQL+="(";
                     SQL+="d char(10),";
                     SQL+="Tw char(10)";
                     SQL+=")";
             DataModule1->ADOCommand->CommandText=SQL;
             DataModule1->ADOCommand->Execute();
          }
          catch(...){
          //表不存在!,则新建
          AnsiString SQL="Create Table "+TableName;
                     SQL+="(";
                     SQL+="d char(10),";
                     SQL+="Tw char(10)";
                     SQL+=")";
          DataModule1->ADOCommand->CommandText=SQL;
          DataModule1->ADOCommand->Execute();
          }


用上面的语句判断一个Access库中的表是不是存在,如果存在删除重建,如果不存在重建,但是如果原来库中不存在所要求的表是时候,系统老是弹出出错标志,如果避免呢?

谢谢###

--------------------next---------------------

上一篇:C++爱好者 - 网友留言
下一篇:C++爱好者 - 网友留言