当前位置:编程学习 > C#/ASP.NET >>

vc怎么删除ACCESS数据库中数据?

我的程序如下:
_Application ExcelApp;  
Workbooks wbsMyBooks;  
_Workbook wbMyBook;  
Worksheets wssMysheets;  
_Worksheet wsMysheet;  
Range rgMyRge; 
//创建Excel 2000服务器(启动Excel)  
if (!ExcelApp.CreateDispatch("Excel.Application",NULL)) //??
{  
AfxMessageBox("创建Excel服务失败!");  
exit(1);  
}  
ExcelApp.SetUserControl(true);
ExcelApp.SetVisible(false);  
//利用模板文件建立新文档  
char path[MAX_PATH];
GetCurrentDirectory(MAX_PATH,path);
CString strPath = path;
  strPath += "\\template1";
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);  
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strPath)));
//得到Worksheets  
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1  
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);   
set.MoveFirst();
while (set.IsEOF()==FALSE)  
{
  ......//进行数据操作
  }

我是想在数据操作之前先把数据库中的数据清空初始化,然后再进行操作,请问各位大虾该怎么加语句?最好在我的源程序上该
--------------------编程问答--------------------


bool DataList::DeleteDataToAccess(_RecordsetPtr m_pRecordset  , char TableName[] , int index)
// 删除某个表的1个数据
// 参数1为数据库文件的指针,参数2为要读取某个表的表名,第3个参数为要删除的数据的下标
{
DataList data;

try
{
char OpenFile[ 512 ] = "SELECT*FROM ";
strcat(OpenFile , TableName); // 字符串追加表名,表示打开这个表

m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(OpenFile , 
_variant_t((IDispatch*)theApp.m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);

for(int i = 0; ! m_pRecordset->adoEOF; ++i)
{

if(i == index)
{
m_pRecordset->Delete(adAffectCurrent); //删除当前记录
m_pRecordset->Update();
m_pRecordset->Close();
return true;
}

m_pRecordset->MoveNext();
}
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox( _T("读取数据库失败! 来自DeleteDataToAccess") );///显示错误信息
}

m_pRecordset->Update();
m_pRecordset->Close();

return false;

}





这是我以前项目中做的一个删除Access数据库的一个类函数 --------------------编程问答-------------------- 用这样的方法直接通过SQL来删除,效率比循环高出几个数量级...

m_pRecordset->Open(_variant_t(_T("delete * from TableName")), 
_variant_t((IDispatch*)m_pConnection->GetConnection(), true),
CursorType, LockType, lOption);
m_pRecordset->Update(); --------------------编程问答-------------------- 上面的代码,不用执行 Update(); --------------------编程问答--------------------
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,