救命啊!!!数据库开发高手请救命!!!
//我的DBF文件test.dbf在C:\\test\\001目录下.
//我按正常的逻辑创建ODBC连接,对test表进行插入或删除操作,然后关闭数据库,删除ODBC连接.
//可为何以下代码执行完后,C:\\test\\001目录无法删除呢?
//望高手速解决,立即给分,急! (不要改ODBC驱动!)
#include <afxdb.h>
#include <odbcinst.h>
void CTestDlg::OnButton1()
{
//创建ODBC DSN
CString strDriver="Microsoft dBase Driver (*.dbf)";
CString strPath="C:\\test\\001";
CString strAttrib;
strAttrib.Format("DSN=MYDBF;DefaultDir=%s;DriverId=%s;FIL=%s",strPath,"277","dBase IV; ",strPath);
char szAttrib[MAX_PATH];memset(szAttrib,0,MAX_PATH);
for(int i=0;i<strAttrib.GetLength();i++)
{
char c=strAttrib.GetAt(i);
if (c==';') continue;
szAttrib[i]=c;
}
SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,strDriver,szAttrib);
//打开表
CDatabase db;
db.OpenEx("DSN=MYDBF",CDatabase::noOdbcDialog);
db.ExecuteSQL("delete from test");
db.Close();
//删除ODBC 中的DSN
SQLConfigDataSource(NULL,ODBC_REMOVE_SYS_DSN,"Microsoft dBase Driver (*.dbf)","DSN=MYDBF");
}