用代码实现
1.保存
...
打开(连接)空的access本地文件,
如果需要,动态创建表,字符型,双精度型
变量或者地址内容加入到access 
保存
结束
....
2.读取
...
读取数据到变量
...3.如果有表头的操作是好的
4.如果可以存贮任意一类型的备注数据就更完美承诺:可另开帖给予足够的分数
    
      此帖在总分内顶者有分

解决方案 »

  1.   

    哈哈,抢到沙发,楼主把问题详细说明一下吧,你的这几个问题有点模糊,你是指DEPHI与Access的数据库连接吗?还是数据库的合理设置
      

  2.   

    不懂了,连接不连接不重要,目前的工作就是把内存数据存入到access文件或者反向操作,要求存取的速度快
      

  3.   

    创建表及字段create table MyTable (id int,name varchar(10),salary money)读adoquery1.close;
    adoquery1.sql.text := 'select * from mytable';
    adoquery1.open;
    变量 := adoquery1.fieldbyname('name').asstring;任意备注类型,如果是文件型的,比如图像,文档之类的,就用
    TBlobfield(adoquery1.fieldbyname('bz')).LoadFromFile('文件路径');
    如果是纯文字的,就用备注型字段就行了
      

  4.   

    保存内存数据还可以使用流adoquery1.edit;
    TBlobField(adoquery1.fieldbyname('bz')).LoadFromStream(stream);
    adoquery1.Post;
      

  5.   

    v如看天书,上面的备注只要一次就够了,不是给数据操作人员用的纯粹是版本信息等系统信息,最好不在数据表中显示上面的代码最好从uses开始,写成var ; function; procedure; var内存变量是 V1 :array[0..n] of anytype; v2 :anytype; 字段变长(当然长度有数值)谢谢楼上的回复
      

  6.   

    DELPHI中操作ACCESS数据库
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=14034
      

  7.   


    {*******************************************}
    {*名称: CreateAccessFile                   *}
    {*时间:2007-10-21                         *}
    {*功能:建立Access文件,如果文件存在则失败 *}
    {*参数:FileName文件名字,PassWord密码      *}
    {*        ForceCreate指定是否强制创建      *}
    {*******************************************}
    function CreateAccessDB(FileName:String;PassWord:string='';ForceCreate: boolean=false):boolean;
    var
      AccessDb:OleVariant;
    begin
        result := true;
        if (ForceCreate) and (FileExists(FileName)) then
        begin
          if DeleteFile(FileName) then
          begin
            result := false;
            exit;
          end;
        end;
        if (not ForceCreate) and (FileExists(FileName)) then
        begin
          result := false;
          exit;
        end;
        AccessDb:=CreateOleObject('ADOX.Catalog');
        AccessDb.Create(format(ConnectionString,[FileName,PassWord]));
        AccessDb := Unassigned;
    end;procedure GetTableList(AccessDBName: String; var TableList: TStringList;Pwd: string='');//伪代码操作
     if not FileExists('Access文件.MDB') then
       CreateAccessDB('Access文件.MDB','密码'):boolean;
     Con := TADOConnection.Create(nil);
     Con.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件.MDB;Persist Security Info=False';
     Con.Open;//打开
     TableList := TStringList.Create; 
     Con.GetTableNames(TableList);//获取表名
     
    //打开表'MyTable';
     TbName := 'MyTable';
     IsFond := False;
     for i := 0 to TableList.Count - 1 do
     begin
       if CompareStr(TbName,TableList.Strings[i])=0 then
       begin
         isFond := True;
         break;
       end;
     end;
     if not IsFond then //没找到创建
     begin
       sql := 'create table MyTable (id int,name varchar(10),salary money)';
       Con.Execute(Sql);//创建表
     end;
     //读取
     Query := TADOQuery.Create(nil);
     Query.COnnection := Con;
     Query.Sql.text := 'Select * from MyTable';
     Query.Open;
     id := Query.FieldBYName('id').asinteger;    //读取id
     name := Query.FieldByName('name').asstring;//name
     //如果需要存储文件等二进制信息,楼主可以使用TBlobField字段,参考楼上信息
      

  8.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      Const
      SConnectionString       = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                                    +'Jet OLEDB:Database Password=%s;';implementation{$R *.dfm}
     uses ComObj,ActiveX;
     function GetTempPathFileName():string;
    //取得临时文件名
    var
      SPath,SFile:array [0..254] of char;
    begin
      GetTempPath(254,SPath);
      GetTempFileName(SPath,'~SM',0,SFile);
      result:=SFile;
      DeleteFile(PChar(result));
    end;//=============================================================================
    // Procedure: CreateAccessFile
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: FileName:String;PassWord:string=''
    // Result   : boolean
    //=============================================================================
    function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
    //建立Access文件,如果文件存在则失败
    var
      STempFileName:string;
      vCatalog:OleVariant;
    begin
      STempFileName:=GetTempPathFileName;
      try
        vCatalog:=CreateOleObject('ADOX.Catalog');
        vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
        result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
        DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;//=============================================================================
    // Procedure: CompactDatabase
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: AFileName,APassWord:string
    // Result   : boolean
    //=============================================================================
    function CompactDatabase(AFileName,APassWord:string):boolean;
    //压缩与修复数据库,覆盖源文件
    var
      STempFileName:string;
      vJE:OleVariant;
    begin
      STempFileName:=GetTempPathFileName;
      try
        vJE:=CreateOleObject('JRO.JetEngine');
        vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
            format(SConnectionString,[STempFileName,APassWord]));
        result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
        DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;//=============================================================================
    // Procedure: ChangeDatabasePassword
    // Author   : ysai
    // Date     : 2003-01-27
    // Arguments: AFileName,AOldPassWord,ANewPassWord:string
    // Result   : boolean
    //=============================================================================
    function ChangeDatabasePassword(AFileName,AOldPassWord,ANewPassWord:string):boolean;
    //压缩数据库并修改ACCESS数据库密码
    var
      STempFileName:string;
      vJE:OleVariant;
    begin
      STempFileName:=GetTempPathFileName;
      try
        vJE:=CreateOleObject('JRO.JetEngine');
        vJE.CompactDatabase(format(SConnectionString,[AFileName,AOldPassWord]),
            format(SConnectionString,[STempFileName,ANewPassWord]));
        result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
        DeleteFile(STempFileName);
      except
        result:=false;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
     CreateAccessFile('c:\d.mdb','sss');
    end;end.试了一下,这个,测试过了
      

  9.   


    http://topic.csdn.net/u/20091119/12/c0d4a981-95c8-486c-a31d-eeb074221c06.html?seed=171963023&r=61277275#r_61277275 此帖暂时到此,另开一贴继续讨论 请把上面的地址改为链接