在VC中,对Access数据表排序,采用执行SQL语句的方法,如下:
CDatabase ColorDB;
CPaintColorSet *pPaintColorSet=new CPaintColorSet(&ColorDB);
pPaintColorSet->Open();try
{
CString strSQL;
strSQL="Select * Into Paint_Result1 From Paint_Result Order By ";
strSQL+="Paint_Book,Paint_DeviceName,Dia,Area";
ColorDB.ExecuteSQL(strSQL);
ColorDB.ExecuteSQL("DROP TABLE Paint_Result");
ColorDB.ExecuteSQL("SELECT * INTO Paint_Result FROM Paint_Result1");
ColorDB.ExecuteSQL("DROP TABLE Paint_Result1");
}
catch(CDBException*e)
{
e->Delete();
}
上述语句通常情况下,不会有什么问题,但在一些特殊情况下,如突然断电,程序刚好执行到前半部分,创建了Result1,程序非正常退出了,那么下次重新进入运行的时候程序执行这段语句就会出错,请问有什么比较好的解决方法?各位在进行Access数据表排序的时候通常采用什么方法?谢谢!