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

📄 unit1.pas

📁 万能数据库查看程序 万能数据库查看程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
              Params.Clear;
              Params.Add('USER NAME='+EUser.Text);
              Params.Add('PASSWORD='+EPass.Text);
              AliasName:=Trim(ComboBox1.Text);
              connected:=true;
              Open;
              GetTableNames(LTableList.Items);
              QueryBDE.DatabaseName:=DatabaseName;
              Screen.Cursor:=crDefault;
              except
              Screen.Cursor:=crDefault;
              application.MessageBox('连接数据库失败,请检查用户密码和数据库名称路径及是否支持后重试!','打开数据库错误',0);
              end;
            end;
          end else
          begin   //如果别名框输入的别名系统里不存在则进入创建
            try
            if MessageBox(Handle,pchar('别名"'+ComboBox1.Text+'"不存在,现在创建吗?'),'别名创建',MB_OKCANCEL)=IDCANCEL then begin Screen.Cursor:=crDefault;Exit;end;
            PathStr:='c:\temp';
            if InputQuery('路径选择','请输入存放数据的路径,如:"c:\data"        ',PathStr) then
              begin
                PathStr:=Trim(PathStr);
                if AnsiContainsText(PathStr,'.') then EDatabaseFile.text:=ExtractFilePath(PathStr);
                EDatabaseFile.text:=PathStr;
                DatabaseBDE.AliasName:=Trim(ComboBox1.Text);
                Session.AddStandardAlias(Trim(ComboBox1.Text),PathStr,'PARADOX');//STANDARD,ORACLE,SYBASE,INTERBASE,PARADOX
                Session.SaveConfigFile;    //BDE配置文件存盘
                Session.GetAliasNames(ComboBox1.Items);
                MessageBox(Handle,pchar('别名"'+ComboBox1.Text+'"已成功创建!'),'别名创建',MB_OK);
                Screen.Cursor:=crDefault;
              end;
            except
            Screen.Cursor:=crDefault;
            application.MessageBox('创建别名失败,请检查系统权限和数据库路径是否正确!','创建别名失败',0);
            end;
          end;
      end else begin Screen.Cursor:=crDefault; application.MessageBox('老兄有没有搞错呀,数据库没选择你要打开什么呀?','打开数据库错误',0); end;
  end;
  N1.Enabled:=True;
  N3.Enabled:=True;
  N4.Enabled:=True;
  BOutoToFile.Enabled:=True;
  BSqlCommand.Enabled:=True;
  LTableList.ItemIndex:=LTableList_ItemIndex;
  LTableListClick(Sender);
  Screen.Cursor:=crDefault;
  except
    Screen.Cursor:=crDefault;
    application.MessageBox('连接数据库失败,请检查数据源路径或别名和数据格式以及登陆用户密码是否正确!','打开数据库错误',0);
  end;
end;

procedure TForm1.EDatabaseFileClick(Sender: TObject);
begin
try
if OpenDialog1.Execute then EDatabaseFile.Text:=OpenDialog1.FileName;
except
end;
end;


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DBFunctions.DBGridRecordSize(Column);  //调用返回DBGrid控件字段宽度的过程
end;

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
DBFunctions.DBGrid1TitleSort(Column);
end;

procedure TForm1.BOutoToFileClick(Sender: TObject);
var  Date:TStrings;
begin
try
SaveToFile.FileName:=LTableList.Items[LTableList.ItemIndex];
if SaveToFile.Execute then
  begin
  Application.ProcessMessages;
  Screen.Cursor:=crAppStart;
  Date:=TStringList.Create;
  if SameText(Rightstr(pchar(SaveToFile.FileName),4),'.txt') then
     DBFunctions.DBGridToTxt(DBGrid1,Date,' ',LTableList.Items[LTableList.ItemIndex]) else DBFunctions.DBGridToHtml(DBGrid1,Date,LTableList.Items[LTableList.ItemIndex]);
  Date.SaveToFile(pchar(SaveToFile.FileName));
  Screen.Cursor:=crDefault;
  end;
except
end;
end;

procedure TForm1.BSqlCommandClick(Sender: TObject);
begin
if trim(SqlStr.text)<>'' then
  begin
    Screen.Cursor:=crAppStart;
    Application.ProcessMessages;
    if RadioGroup1.Items[RadioGroup1.ItemIndex]='BDE' then
    begin
      with QueryBDE do
      begin
        try
        Close;
        Sql.Clear;
        DatabaseName:=DatabaseBDE.DatabaseName;
        SQL.Add(Pchar(trim(SqlStr.text)));
        if LeftStr(trim(SqlStr.text),6)<>'select' then ExecSQL else Open;
        LTableList.Items.Clear;
        DatabaseBDE.GetTableNames(LTableList.Items);
        DataSource1.DataSet:=QueryBDE;
        Screen.Cursor:=crDefault;
        except
        Screen.Cursor:=crDefault;
        showmessage('SQL命令语法有误,没有成功执行!');
        end;
      end;
    end else
    begin
      with ADOQuery1 do
      begin
        try
        Close;
        SQL.Clear;
        Connection:=ADOConnection1;
        SQL.Add(Pchar(trim(SqlStr.text)));
        if LeftStr(trim(SqlStr.text),6)<>'select' then ExecSQL else Open;
        LTableList.Items.Clear;
        ADOConnection1.GetTableNames(LTableList.Items);
        DataSource1.DataSet:=ADOQuery1;
        Screen.Cursor:=crDefault;
        except
        Screen.Cursor:=crDefault;
        showmessage('SQL命令语法有误,没有成功执行!');
        end;
      end;
    end;
    DBGrid1.DataSource:=DataSource1;
    LTableList.ItemIndex:=LTableList_ItemIndex;
    if  LeftStr(trim(SqlStr.text),6)<>'select' then LTableListClick(Sender);
    DBFunctions.DBGridAutoSize(DBGrid1,15);//调用对DBGrid控件数据进行自动字段宽度的处理过程
    Screen.Cursor:=crDefault;
  end else showmessage('有没有搞错呀,你命令都没输入执行什么呀?');
end;

procedure TForm1.N2Click(Sender: TObject);
begin
  Session.DeleteAlias(Trim(ComboBox1.Text));
end;

procedure TForm1.N3Click(Sender: TObject);
begin
  SqlStr.Text:='DROP TABLE '+LTableList.Items[LTableList.ItemIndex]+';';
  ADOQuery1.Close;
  ADOQuery1.Active:=False;
  QueryBDE.Close;
  QueryBDE.Active:=False;
  BSqlCommandClick(Sender);
  N4Click(Sender);
end;

procedure TForm1.N4Click(Sender: TObject);
begin
  if RadioGroup1.Items[RadioGroup1.ItemIndex]='BDE' then
    begin
      DatabaseBDE.GetTableNames(LTableList.Items);
      LTableList.ItemIndex:=LTableList_ItemIndex;
    end else
    begin
      ADOConnection1.GetTableNames(LTableList.Items);
      LTableList.ItemIndex:=LTableList_ItemIndex;
    end;
    LTableListClick(Sender);
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  if RadioGroup1.Items[RadioGroup1.ItemIndex]='ADO' then
     begin
       if (ComboBox1.Text='=====驱动类型=====') or (ComboBox1.Text='') then
         begin
           EDatabaseFile.Enabled:=False;
           EUser.Enabled:=False;
           EPass.Enabled:=False;
           BOpenDatabase.Enabled:=False;
           SqlStr.Enabled:=False;
           BSqlCommand.Enabled:=False;
           BOutoToFile.Enabled:=False;
         end else
         begin
           EDatabaseFile.Enabled:=True;
           EUser.Enabled:=True;
           EPass.Enabled:=True;
           BOpenDatabase.Enabled:=True;;
           if (ComboBox1.Text='Access Database') or (ComboBox1.Text='OLEDB.3.51 *.mdb') or (ComboBox1.Text='OLEDB.4.0 *.mdb') then
             begin
               OpenDialog1.DefaultExt:='*.mdb';
             end else
           if ComboBox1.Text='dBASE *.dbf;*.?dx' then
             begin
               OpenDialog1.DefaultExt:='*.dbf;*.db;*.?dx';
             end else
           if ComboBox1.Text='VFP Datebase *.dbf' then
             begin
               OpenDialog1.DefaultExt:='*.dbf;*.db';
             end else
           if ComboBox1.Text='VFP Datebase *.dbc' then
             begin
               OpenDialog1.DefaultExt:='*.dbc';
             end else
           if ComboBox1.Text='SQL Server' then
             begin
               EDatabaseFile.Enabled:=False;
             end else
           if ComboBox1.Text='搜索数据源别名...' then
             begin
               ComboBox1.Items.Clear;
               Session.GetAliasNames(ComboBox1.Items);
               ComboBox1.Items.Add('=====驱动类型=====');
               ComboBox1.Items.Add('Access Database'); // MS Access Database
               ComboBox1.Items.Add('OLEDB.3.51 *.mdb'); //Microsoft.Jet.OLEDB.3.51
               ComboBox1.Items.Add('OLEDB.4.0 *.mdb');  //Microsoft.Jet.OLEDB.4.0
               ComboBox1.Items.Add('dBASE *.dbf;*.?dx'); //*.dbf;*.ndx;*.mdx
               ComboBox1.Items.Add('VFP Datebase *.dbf');
               ComboBox1.Items.Add('VFP Datebase *.dbc');
               ComboBox1.Items.Add('SQL Server');
               ComboBox1.Items.Add('搜索数据源别名...');
               ComboBox1.Text:='Access Database';
             end;
           end;
     end else
     begin
       if (ComboBox1.Text='打开文件...') then
         begin
           EDatabaseFile.Enabled:=True;
           EUser.Enabled:=True;
           EPass.Enabled:=True;
           BOpenDatabase.Enabled:=True;
           OpenDialog1.DefaultExt:='*.dbf,*.db,*.dbc,*.?dx';
         end else
       if ComboBox1.Text='搜索数据源别名...' then
         begin
           ComboBox1.Items.Clear;
           Session.GetAliasNames(ComboBox1.Items);
           ComboBox1.Items.Add('打开文件...');
           ComboBox1.Items.Add('搜索数据源别名...');
           ComboBox1.Text:='打开文件...';
         end else
       if (ComboBox1.Text<>'') then
         begin
           EDatabaseFile.Enabled:=False;
           EUser.Enabled:=True;
           EPass.Enabled:=True;
           BOpenDatabase.Enabled:=True;
           N2.Enabled:=True;
         end;
     end;
end;


procedure TForm1.N1Click(Sender: TObject);
begin
  LTableList.Clear;
  DatabaseBDE.Close;
  ADOConnection1.Close;
  ADOQuery1.Close;
  ADOQuery1.Active:=False;
  QueryBDE.Close;
  QueryBDE.Active:=False;
  LTableList_ItemIndex:=0;
  BOutoToFile.Enabled:=False;
  BSqlCommand.Enabled:=False;
  N1.Enabled:=False;
  N2.Enabled:=False;
  N3.Enabled:=False;
  N4.Enabled:=False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
RadioGroup1Click(Sender);
end;

end.

⌨️ 快捷键说明

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