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