paradox(*.db)数据库的创建与数据操作

paradox数据库是delphi自带的.db数据库文件,所在目录即是数据库,一个表是一个.db文件

paradox数据类型简表:

paradox数据类型

 

 

用Ttable创建paradox数据库

begin
    with Table1 do
    begin
        Active := False;
        DatabaseName := '';
        TableType := ttParadox;
        TableName := 'CustInfo.db';

        with FieldDefs do
        begin
            Clear;
            Add('Field1', ftInteger, 0, True);
            Add('Field2', ftString, 30, False);
        end;
        CreateTable;
    end;
end;

 

 

 

用TQuery,sql语句创建paradox数据库

var
    TempQuery:TQuery;
    DefField :String;
    TableName:String;
    CreateSQL:String;
begin
    CreateSQL:='Create Table "%s" (%s)';
    Deffield := ' Field1 Integer, Field2 CHAR(30) ';
    TableName := 'C:\DB01.DB';
    TempQuery := TQuery.Create(Application);
    with TempQuery do
    begin
        try
            SQL.Text:=Format(CreateSQL,[tableName,deffield]);
            ExecSQL;
        finally
            Free;
        end;
    end;
end;

 

 

 

为paradox数据表插入数据:

begin
    tbl1.DatabaseName:=ExtractFilePath(Application.ExeName)+'db';
    tbl1.TableType:=ttParadox;
    tbl1.TableName:='User';
    tbl1.Close;
    tbl1.Open;
    while not tbl1.Eof do
    tbl1.Delete;  //删除原有的数据
    for i:=1 to 20 do begin
      tbl1.Insert;
      tbl1.FieldByName('fID').AsInteger:=i;
      tbl1.FieldByName('fName').AsString:='段改阳'+inttostr(i);
      tbl1.FieldByName('ftype').AsInteger:=i;
      tbl1.FieldByName('fdescrip').AsString:='fdescrip段改阳'+inttostr(i);
    end;
     tbl1.Post;
end;
 
 
 
append用法:
View Code 

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  with Table1 do
  begin
    Active := False;
    DatabaseName := '';
    TableType := ttParadox;
    TableName := 'DOCTORINF23.db';
    if not Table1.Exists then begin
       with FieldDefs do begin
          Clear;
          with AddFieldDef do begin
              Name := '姓名';
              DataType := ftString;
              Required := True;
              Size := 10;
          end;
          with AddFieldDef do begin
               Name := '年龄';
               DataType := ftInteger;
          end;//建立字段定,利用AddFieldDef方法添加一个新的TFieldDef对象
          with AddFieldDef do begin
              Name := '职称';
              DataType := ftString;
              Required := True;
              Size := 10;
          end;
       end;
       with IndexDefs do begin
            Clear;
            with AddIndexDef do begin
            Name := 'MYINDEX';
            Fields := '姓名';
            Options := [ixPrimary];
            end;
       end;  //建立索引
       CreateTable;
    end;

  end;
    Table1.Open;
    Table1.Edit;
    Table1.FieldByName('姓名').AsString:='刘延';
    Table1.FieldByName('年龄').AsInteger:=22 ;
    Table1.FieldByName('职称').AsString:='医师';
    //---添加了一条记录 ,append开始添加第二条记录
    Table1.Append;
    Table1.Edit;
    Table1.FieldByName('姓名').AsString:='杨晓';
    Table1.FieldByName('年龄').AsInteger:=25 ;
    Table1.FieldByName('职称').AsString:='医师';
    DBGrid1.DataSource:=DataSource1;
    Table1.Active :=True;
end;

end.



补充一下:paradox表的通用密码
Try:jIGGAe
paradox表通用密码
version password
Paradox 7 jIGGAe or cupcdvum
Paradox 5 jIGGAe or cupcdvum
Paradox 4 nx66ppx

oConn.Open "Driver={Microsoft Paradox Driver (*.db)};" & _
          "DriverID=538;" & _
          "Fil=Paradox 5.X;" & _
          "DefaultDir=c:dbpath;" & _
          "Dbq=c:dbpath;" & _
          "CollatingSequence=ASCII;" & _
"Uid=myUsername;" & _
          "Pwd=myPassword;"

密码
0lFb0C6S
加密后数据库的使用:在引用加密后的数据时(用TTable或TQuery),在语句最前面加入Session.addpassword('123');即可。注:123为密码。
posted @ 2013-02-20 23:28  kmgog  阅读(1484)  评论(0编辑  收藏  举报