当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 比如char *buf; 结构: typedef struct _myst { int len; char data[255]; }myst; ......
    摘要: for命令的具体使用方法,举例加分!! ......


数据库压缩一问:(Access2000+ADO)

//这里贴一端朋友的代码,朋友说测试过没问题,可是我就是那他的程序测试  
  不能压缩,老是提示“数据类型有误”,大家看看吧!  
  我的系统是winme+Microsoft.Jet.OLEDB.4.0,数据库有完全的权限,  
  请大家指点迷津!!!  
  //代码如下:  
  #include   <vcl.h>  
  #pragma   hdrstop  
  #include   "utilcls.h"  
  #include   "Unit1.h"  
  //---------------------------------------------------------------------------  
  #pragma   package(smart_init)  
  #pragma   resource   "*.dfm"  
  TfrmYsAccess   *frmYsAccess;  
  //---------------------------------------------------------------------------  
  __fastcall   TfrmYsAccess::TfrmYsAccess(TComponent*   Owner)  
                  :   TForm(Owner)  
  {  
  }  
  //---------------------------------------------------------------------------  
  void   __fastcall   TfrmYsAccess::StartYSClick(TObject   *Sender)  
  {  
  /*           AnsiString   f1="HL2000.MDB";           //   源库1  
            AnsiString   psw1="";                 //   密码1  
   
            AnsiString   f2="HLNew.mdb";           //   新目的库2  
            AnsiString   psw2="";               //   新密码2  
   
            AnsiString   dir=ExtractFilePath(Application->ExeName);  
            f1=dir+f1;   f2=dir+f2;   */  
            if   (FileExists(txtEdit2->Text))         //   不允许目的库存在  
            {  
                if(Application->MessageBoxA("目标数据库已存在,是否覆盖?","询问",MB_YESNO+32)==IDYES)  
                    {  
                      DeleteFile(txtEdit2->Text);  
                      }  
                    else  
                    {  
                      return;  
                      }  
              }  
            CompactDatabase(txtEdit1->Text,txtEdit3->Text,txtEdit2->Text,txtEdit3->Text);  
            Application->MessageBoxA("数据库压缩完成!","完成",MB_OK+64);  
   
  }  
  //---------------------------------------------------------------------------  
   
  void   TfrmYsAccess::CompactDatabase(AnsiString   f1,   AnsiString   psw1,   AnsiString   f2,   AnsiString   psw2)  
  {  
                AnsiString   Provider1="Provider=Microsoft.Jet.OLEDB.4.0"  
                                            ";Data   Source="+f1+  
                                            ";Jet   OLEDB:Database   Password="+psw1;  
                AnsiString   Provider2="Provider=Microsoft.Jet.OLEDB.4.0"  
                                            ";Data   Source="+f2+  
                                            ";Jet   OLEDB:Database   Password="+psw2;  
   
                Variant   Adoobj=Variant::CreateObject("JRO.JetEngine");  
                Adoobj.OleProcedure("CompactDatabase",Provider1,Provider2);  
                Adoobj.Clear();  
  }  
  void   __fastcall   TfrmYsAccess::OpenDBClick(TObject   *Sender)  
  {  
      if(OpenDialog1->Execute())  
      {  
        txtEdit1->Text=OpenDialog1->FileName;  
        }  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TfrmYsAccess::Button1Click(TObject   *Sender)  
  {  
    if(SaveDialog1->Execute())  
      {  
        txtEdit2->Text=SaveDialog1->FileName+".mdb";  
        }  
  }  
  //---------------------------------------------------------------------------  
 

NO.1   作者: Spring414

goto   here:  
  http://www.csdn.net/expert/topic/658/658390.xml?temp=.7677271

NO.2   作者: pazee

http://www.csdn.net/expert/topic/791/791528.xml?temp=.7522089  
   
  这个是真正用ado压缩数据库,不是dao的

NO.3   作者: sncel

呵呵,关注一下。

NO.4   作者: Richardw

http://www.csdn.net/expert/topic/525/525712.xml?temp=.846203

NO.5   作者: xiaoyu

我先收藏

NO.6   作者: hhhappy

up


    摘要: /****arithimpl.java**********/ import java.rmi.*; import java.rmi.server.unicastremoteobject; public class arithimpl extends unicastremoteobject implements arith{ private string objectname; pub......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE