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

📄 udb.pas

📁 实现短信的收发应用非常的方便,系统很小直接使用不需安装
💻 PAS
字号:
unit udb;

interface

uses
  SysUtils,Dialogs, Classes, DB,Forms, DBTables,IniFiles,windows,Messages,
  ADODB;

type
  Tsmsdb = class(TDataModule)
    conn: TADOConnection;
    procedure DataModuleCreate(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  smsdb: Tsmsdb;
  allisdb:string;
  procedure runsql(queryname:Tadoquery;sqlstring:string);
  procedure exestr(queryname:Tadoquery;sqlstring:string);

  
implementation

{$R *.dfm}
procedure runsql(queryname:Tadoquery;sqlstring:string);
begin
  with queryname do
    begin
      close;
      sql.Clear;
      sql.Text:=sqlstring;
      execsql;
      open;
    end;
end;

procedure exestr(queryname:Tadoquery;sqlstring:string);
begin
  with queryname do
    begin
      close;
      sql.Clear;
      sql.Text:=sqlstring;
      execsql;
    end;
end;

{procedure Tsmsdb.DataModuleCreate(Sender: TObject);
var
 smsini:Tinifile;
 filename,servername,username,password:string;
begin
filename:=extractfilepath(paramstr(0))+'smsini.ini';
if fileexists(filename) then
  begin
  smsini:=Tinifile.Create(filename);
  servername:=smsini.ReadString('database','servername','');
  username:=smsini.ReadString('database','username','');
  password:=smsini.ReadString('database','password','');
  smsini.Free;
  with database1.Params do
    begin
    clear();
    add('database name=smsdb');
    add('server name='+servername);
    add('user name='+username);
    add('password='+password);
    end;
  end
  else
  begin
  smsini:=Tinifile.Create(filename);
  smsini.writestring('database','servername','');
  smsini.writestring('database','username','');
  smsini.writestring('database','password','');
  application.MessageBox('请在应用程序目录中配置smsini.ini文件!',':数据库配置提示:',mb_ok);
  smsini.Free;
  halt;//因为没有配置数据库的配置文件所以要求退出系统的运行.
  end;
  try
  database1.Connected:=true;
  except
  database1.Connected:=false;
  application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
  halt;//没有连接上数据库所以退出程序的运行.
  end;
end; }

procedure Tsmsdb.DataModuleCreate(Sender: TObject);
var
  pathstr:string;
  smsini:Tinifile;
 filename,servername,username,password,dbname,isdb:string;
 firststr,secstr,thrstr,foustr,fivstr,sixstr:string;
begin
//首先要从smsini文件中读出isdb的值,再将它给全量allisdb
  filename:=extractfilepath(paramstr(0))+'smsini.ini';
     if fileexists(filename) then
       begin
         smsini:=Tinifile.Create(filename);
         servername:=smsini.ReadString('database','servername','');
         username:=smsini.ReadString('database','username','');
         password:=smsini.ReadString('database','password','');
         dbname:=smsini.ReadString('database','dbname','');
         isdb:=smsini.ReadString('database','isdb','');
         allisdb:=isdb;//把它传给全变量
         smsini.Free;
       end
     else
       begin
       smsini:=Tinifile.Create(filename);
       smsini.writestring('database','servername','');
       smsini.writestring('database','username','');
       smsini.writestring('database','password','');
       smsini.writestring('database','dbname','');
       smsini.writestring('database','isdb','access');
       application.MessageBox('请在应用程序目录中配置smsini.ini文件!',':数据库配置提示:',mb_ok);
       smsini.Free;
       halt;//因为没有配置数据库的配置文件所以要求退出系统的运行.
       end;
//结束读isdb
//开始分析进入的是什么数据库
if isdb='access' then
  begin
  pathstr:=extractfilepath(paramstr(0));//取得当前程序的路径
  conn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+pathstr+'smsdb.mdb;Persist Security Info=False';
  conn.LoginPrompt:=false;
   try
     conn.Connected:=true;
   except
     conn.Connected:=false;
     application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
     halt;//没有连接上数据库所以退出程序的运行.
   end;
  end;

if isdb='sqlserver' then
  begin
  //开始sqlserver
     //开始从smsini文件中读参数

     //结束参数
  firststr:='provider=sqloledb.1;';
  fivstr:='password='+password+';' ;
  sixstr:='Persist Security Info=True;';
  secstr:='user id='+username+';';//username是用户名
  thrstr:='initial catalog='+dbname+';';//dbname是数据库名
  foustr:='data source='+servername;//servername是服务器名

  conn.ConnectionString:=firststr+fivstr+sixstr+secstr+thrstr+foustr;
  conn.LoginPrompt:=false;
   try
     conn.Connected:=true;
   except
     conn.Connected:=false;
     application.MessageBox('数据库连接失败,请与管理员联系!',':数据库连接提示:',mb_OK);
     halt;//没有连接上数据库所以退出程序的运行.
   end;
  //结束sqlserver
  end;
  if ((isdb<>'access') and (isdb<>'sqlserver')) then
  begin
    application.MessageBox('isdb只能等于access或sqlserver!','smsini.ini配置提示',mb_OK);
    halt;
  end;
end;

end.

⌨️ 快捷键说明

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