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

📄 main.pas

📁 MY SQL的管理的程序源码, 发现程序员开发网上没有, 就传上来了.
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('if exists(select 1 from sysdevices where name=''ENWEN'') exec sp_dropdevice ''ENWEN''');
    SQL.Add('EXEC sp_addumpdevice ''disk'', ''ENWEN'', '''+tb_bak_path.Text+'''');
    SQL.Add('BACKUP DATABASE '+cb_db.Text+' TO ENWEN');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1100'#13#10#13#10'备份成功,可进行其它操作');
      inlog('备份数据库'#13#10+SQL.Text+'操作成功');
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'备份失败,请检查网络情况');
      inlog('备份数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.tb_bak_pathButtonClick(Sender: TObject);
begin
  SaveDialog1.FileName := UpperCase(cb_db.Text)+FormatDateTime('yymmddhhmmss',now)+'.BAK';
  if SaveDialog1.Execute then tb_bak_path.Text := SaveDialog1.FileName;
end;

procedure TFMAIN.cb_dbKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db.Text<>'') then tb_bak_path.SetFocus;
end;

procedure TFMAIN.tb_bak_pathKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if tb_bak_path.Text<>'' then Button3Click(Sender) else tb_bak_pathButtonClick(Sender);
  end;
end;

procedure TFMAIN.tb_bak_path2ButtonClick(Sender: TObject);
begin
  if OpenDialog1.Execute then tb_bak_path2.Text := OpenDialog1.FileName;
end;

procedure TFMAIN.cb_db2KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db2.Text<>'') then tb_bak_path2.SetFocus;
end;

procedure TFMAIN.tb_bak_path2KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if tb_bak_path2.Text<>'' then Button5Click(Sender) else tb_bak_path2ButtonClick(Sender);
  end;
end;

procedure TFMAIN.Button5Click(Sender: TObject);
begin
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('if exists(select 1 from sysdevices where name=''ENWEN'') exec sp_dropdevice ''ENWEN''');
    SQL.Add('restore database '+cb_db2.Text+' from disk='''+tb_bak_path2.Text+''' with replace');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1101'#13#10#13#10'还原成功,可进行其它操作');
      inlog('还原数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'还原失败,请检查网络情况');
      inlog('还原数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.cb_db3KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db3.Text<>'') then Button7Click(Sender);
end;

procedure TFMAIN.Button7Click(Sender: TObject);
begin
  if cb_db3.Text='' then exit;
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('EXEC sp_detach_db '''+cb_db3.Text+'''');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1102'#13#10#13#10'分离成功,可进行其它操作');
      inlog('分离数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'分离失败,请检查网络情况');
      inlog('分离数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.Button9Click(Sender: TObject);
begin
  if cb_db4.Text='' then exit;
  if tb_m_path.Text='' then exit;
  if tb_l_path.Text='' then exit;
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('EXEC sp_attach_db '''+cb_db4.Text+''','''+tb_m_path.Text+''','''+tb_l_path.Text+'''');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1103'#13#10#13#10'附加成功,可进行其它操作');
      inlog('附加数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'附加失败,请检查网络情况');
      inlog('附加数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.tb_m_pathButtonClick(Sender: TObject);
begin
  if OpenDialog1.Execute then tb_m_path.Text := OpenDialog1.FileName;
end;

procedure TFMAIN.cb_db4KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db4.Text<>'') then tb_m_path.SetFocus;
end;

procedure TFMAIN.tb_m_pathKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if tb_m_path.Text<>'' then tb_l_path.SetFocus else tb_bak_path2ButtonClick(Sender);
  end;
end;

procedure TFMAIN.tb_l_pathButtonClick(Sender: TObject);
begin
  if OpenDialog1.Execute then tb_l_path.Text := OpenDialog1.FileName;
end;

procedure TFMAIN.tb_l_pathKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    if tb_l_path.Text<>'' then Button9Click(Sender) else tb_bak_path2ButtonClick(Sender);
  end;
end;

procedure TFMAIN.Button11Click(Sender: TObject);
begin
  if cb_db5.Text='' then exit;
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('drop database '+cb_db5.Text);
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1104'#13#10#13#10'删除成功,可进行其它操作');
      inlog('删除数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'删除失败,请检查网络情况');
      inlog('删除数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.cb_db5KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db5.Text<>'') then Button11Click(Sender);
end;

procedure TFMAIN.cb_db6KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (cb_db6.Text<>'') then Button13Click(Sender);
end;

procedure TFMAIN.Button13Click(Sender: TObject);
begin
  if cb_db6.Text='' then exit;
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('dump transaction '+cb_db6.Text+' with no_log');
    SQL.Add('backup log '+cb_db6.Text+' with no_log');
    SQL.Add('dbcc shrinkdatabase ('+cb_db6.Text+')');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1110'#13#10#13#10'压缩成功,可进行其它操作');
      inlog('压缩数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'压缩失败,请检查网络情况');
      inlog('压缩数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.tb_memoKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_f10 then
  begin
    if SaveDialog2.Execute then
      tb_memo.Lines.SaveToFile(SaveDialog2.FileName);
  end;
end;

procedure TFMAIN.Button15Click(Sender: TObject);
begin
  if (tb_db.Text='') or (tb_m_file.Text='') or (tb_m_size.Text='') or (tb_m_group.Text='') or (tb_l_file.Text='') or (tb_l_size.Text='') or (tb_l_group.Text='') then exit;
  with q do
  begin
    close;
    SQl.Clear;
    SQL.Add('use master');
    SQL.Add('create database '+tb_db.Text);
    SQL.Add('on');
    SQL.Add('( name = '+tb_db.Text+'_dat,');
    SQL.Add('filename='''+tb_m_file.Text+''',');
    SQL.Add('size='+tb_m_size.Text+',');
    if (tb_l_max.Text<>'') or (copy(tb_m_max.Text,0,1)='0') then
    begin
      SQL.Add('max = '+tb_m_max.Text+',');
      SQL.Add('filegrowth='+tb_m_group.Text+')');
    end
    else SQL.Add('filegrowth='+tb_m_group.Text+')');
    SQL.Add('log on');
    SQL.Add('( name = '+tb_db.Text+'_log,');
    SQL.Add('filename='''+tb_l_file.Text+''',');
    SQL.Add('size='+tb_l_size.Text+',');
    if (tb_l_max.Text<>'') or (copy(tb_l_max.Text,0,1)='0') then
    begin
      SQL.Add('max = '+tb_l_max.Text+',');
      SQL.Add('filegrowth='+tb_l_group.Text+')');
    end
    else SQL.Add('filegrowth='+tb_l_group.Text+')');
    try
      ExecSQL;
      Close;
      ShowMessage('操作编号:1105'#13#10#13#10'创建成功,可进行其它操作');
      inlog('创建数据库'#13#10+SQL.Text+'操作成功');
      ini;
    except
      Close;
      ShowMessage('错误编号:1001'#13#10#13#10'创建失败,请检查网络情况');
      inlog('创建数据库'#13#10+SQL.Text+'操作失败');
    end;
  end;
end;

procedure TFMAIN.tb_dbKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_db.Text<>'') then tb_m_file.SetFocus;
end;

procedure TFMAIN.tb_m_fileKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_m_file.Text<>'') then tb_m_size.SetFocus;
end;

procedure TFMAIN.tb_m_sizeKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_m_size.Text<>'') then tb_m_group.SetFocus;
end;

procedure TFMAIN.tb_m_groupKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_m_group.Text<>'') then tb_m_max.SetFocus;
end;

procedure TFMAIN.tb_m_maxKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then tb_l_file.SetFocus;
end;

procedure TFMAIN.tb_l_fileKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_l_file.Text<>'') then tb_l_size.SetFocus;
end;

procedure TFMAIN.tb_l_sizeKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_l_size.Text<>'') then tb_l_group.SetFocus;
end;

procedure TFMAIN.tb_l_groupKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (tb_l_group.Text<>'') then tb_l_max.SetFocus;
end;

procedure TFMAIN.tb_l_maxKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then Button15Click(Sender);
end;

procedure TFMAIN.tb_m_fileButtonClick(Sender: TObject);
begin
  if SaveDialog3.Execute then tb_m_file.Text := SaveDialog3.FileName;
end;

procedure TFMAIN.tb_l_fileButtonClick(Sender: TObject);
begin
  if SaveDialog4.Execute then tb_l_file.Text := SaveDialog4.FileName;
end;

end.

⌨️ 快捷键说明

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