⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 delphi数据库的程序代码
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables;

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

var
  Form1: TForm1;

implementation
  USES  Registry; 
  {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var
  Temp : TRegistry;
  bData : array[ 0..0 ] of byte;
begin
  Temp := TRegistry.Create;  //建立一个Registry实例 
  with Temp do 
  begin 
     RootKey:=HKEY_LOCAL_MACHINE;   //设置根键值为HKEY_LOCAL_MACHINE 

      //打开键名 software\ODBC\ODBC.INI\ODBC Data Sources,不存在则建立 

     if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then 

     begin //注册一个DSN名称 
       WriteString( 'myodbc', 'Microsoft Access Driver (*.mdb)' );

     end 
     else 
     begin//创建键值失败 
          SHOWMESSAGE('增加ODBC数据源失败'); 
          exit; 
     end; 
     CloseKey; 

     //找到或创建Software\ODBC\ODBC.INI\myaccess97,写入DSN配置信息 
      if OpenKey('Software\ODBC\ODBC.INI\myodbc',True) then
      begin 
        WriteString( 'DBQ', 'C:\test.mdb' );//数据库目录 
        WriteString( 'Description','我的新数据源' );//数据源描述 
        WriteString( 'Driver', 'C:\WINDOWS\SYSTEM\odbcjt32.dll' );//驱动程序DLL文件  ODBCJT32.DLL文件依据你的存放路径
        WriteInteger( 'DriverId', 25 );   //驱动程序标识 
        WriteString( 'FIL', 'Ms Access;' ); 
       //Filter依据 
        WriteInteger( 'SafeTransaction', 0 );     //支持的事务操作数目 

        //若不存在用户,则为下面一句: 
        WriteString( 'UID', '' );//用户名称,若存在用户,则写入用户名 
        //若存在用户和密码,则为下面二句: 
        //WriteString( 'UID', 'hns' );   //用户名
        //WriteString( 'PWD', '199911' );//口令

        bData[0] := 0; 
        WriteBinaryData( 'Exclusive', bData, 1 );   //是否以独占方式打开,1为是,默认为0

        WriteBinaryData( 'ReadOnly', bData, 1 );    //是否以只读方式打开,1为是,默认为0
      end 
      else//创建键值失败 
      begin 
showmessage('增加ODBC数据源失败'); 
exit; 
      end; 
      CloseKey; 

     // 找到或创建Software\ODBC\ODBC.INI\myaccess97\Engines\Jet  写入DSN数据库引擎配置信息
     if OpenKey('Software\ODBC\ODBC.INI\myaccess97\Engines\Jet',True)  
then 
     begin 
       WriteString( 'ImplicitCommitSync', 'Yes' ); //表示是否立即反映数据修改
       WriteInteger( 'MaxBufferSize', 512 );//缓冲区大小 
       WriteInteger( 'PageTimeout', 20 );//页超时
       WriteInteger( 'Threads', 5 );//支持的线程数目
       WriteString( 'UserCommitSync', 'Yes' ); //表示是否立即将数据修改反映到用户
     end 
     else//创建键值失败 
     begin 
       showmessage('增加ODBC数据源失败'); 
       exit; 
     end; 
     CloseKey; 

     showmessage('增加新ODBC数据源成功');
     Table1.DatabaseName:='myodbc';
     Table1.TableName:='test.mdb';
     Table1.FieldDefs.Add('Name',ftString,8,True);
     Table1.FieldDefs.Add('sex',ftString,8,True);
     Table1.FieldDefs.Add('age',ftString,8,True);
     Table1.CreateTable;


     //Free;
   end; 

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -