数据库的备份与还原+INI文件数据库参数配置
利用SQL语句来完成对SQL Server数据库的备份与还原功能 仅以练习
完成代码如下:
------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, ExtCtrls;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
GroupBox1: TGroupBox;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Bevel1: TBevel;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button6: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses unit2,unit3,unit4;
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
begin
str:='select number as 编号,name as 姓名,tel as 联系电话 from info';
AdoQuery1.Close ;
AdoQuery1.SQL.Clear ;
AdoQuery1.SQL.Add(str);
AdoQuery1.Open ;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form2:=Tform2.Create(form1);
form2.Show ;
ADOQuery1.Edit ;
form2.Edit2.Text :=ADOQuery1.FieldByName('编号').AsString ;
form2.edit3.Text :=ADOQuery1.FieldByName('姓名').AsString ;
form2.edit4.Text :=ADOQuery1.FieldByName('联系电话').AsString ;
end;
//数据库的INI文件配置(该模块代码见下----)
procedure TForm1.Button3Click(Sender: TObject);
begin
CfgForm:=TCfgForm.Create(form1);
CfgForm.Show ;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
ss,sd:string;
begin
sd:=extractfilepath(paramstr(0))+'backup/'+datetostr(now)+'.mdf';
//SaveDialog1.Execute ;
ss:='backup database test to disk='''+sd+'''';
//showmessage(sd);
if fileexists(sd) then
begin
if messagebox(0,' 今天备份文件已存在!是否覆盖?','警告',MB_OKCANCEL)= IDCANCEL then
exit
else
DeleteFile(sd);
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(ss);
ADOQuery1.ExecSQL ;
showmessage('数据库备份完成!'); ;
exit;
end
else
begin
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(ss);
ADOQuery1.ExecSQL ;
showmessage('数据库备份完成!');
end;
{st:=SaveDialog1.FileName ;
ss:='backup database test to disk='''+st+'.mdf''';
if fileexists(st+'.mdf') then
if Messagebox(0,'该文件已存在!,您是否要覆盖该文件?','警告',MB_OKCANCEL)=IDCANCEL then
exit
else
begin
deletefile(st+'.mdf');
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(ss);
ADOQuery1.ExecSQL ;
showmessage('数据库备份完成!');
end
else
begin
//showmessage(ss);
//DataModule4.ADOConnection1.ConnectionString :='';
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(ss);
ADOQuery1.ExecSQL ;
showmessage('数据库备份完成!');
end;}
end;
procedure TForm1.Button5Click(Sender: TObject);
var
ss,sql:string;
begin
SaveDialog1.Execute ;
ss:=SaveDialog1.FileName ;
sql:='use master restore database test from disk='''+ss+'''';
if messagebox(0,' 您确认要执行恢复操作吗?','警告',MB_OKCANCEL)= IDCANCEL then
exit
else
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(sql);
ADOQuery1.ExecSQL ;
showmessage('数据库恢复完成!');
end;
end;
procedure TForm1.Button6Click(Sender: TObject); //获取当前路径
begin
//GetModuleFileName();
ShowMessage(extractfilepath(application.exename));
ShowMessage(extractfilepath(paramstr(0)));
end;
end.
---------------------------------
数据库实现INI文件配置 完整代码:
---------------------------------
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,INIFiles;
type
TCfgForm = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CfgForm: TCfgForm;
implementation
var
myinifile:Tinifile;
{$R *.dfm}
procedure TCfgForm.Button2Click(Sender: TObject);
begin
CfgForm.Free ;
end;
procedure TCfgForm.FormCreate(Sender: TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+'SQLcfg.ini';
myinifile:=Tinifile.Create(filename);
edit1.Text :=myinifile.ReadString('参数配置','Data Source','');
edit2.Text :=myinifile.ReadString('参数配置','Initial Catalog','');
edit3.Text :=myinifile.ReadString('参数配置','User ID','');
edit4.Text :=myinifile.ReadString('参数配置','Password','');
end;
procedure TCfgForm.Button1Click(Sender: TObject);
begin
myinifile.WriteString('参数配置','Data Source',edit1.text);
myinifile.WriteString('参数配置','Initial Catalog',edit2.text);
myinifile.WriteString('参数配置','User ID',edit3.text);
myinifile.WriteString('参数配置','Password',edit4.text);
myinifile.Destroy ;
CfgForm.Release ;
end;
procedure TCfgForm.Button3Click(Sender: TObject);
begin
showmessage(inttostr(CfgForm.InstanceSize));
end;
end.
-------------------------------
SQLcfg.ini 文件内容:
---------------
[参数配置]
Data Source=BULY
Initial Catalog=test
User ID=sa
Password=1001
---------------
2009-11-04
数据库的备份与还原+INI文件数据库参数配置相关推荐
- 达梦数据库之备份与还原
备份与还原是DBA必备的技能之一,为防止数据的误操作.误删除等突发情况,所以备份还原至关重要,一下从几方面共同学习一下达梦数据库的备份与还原基础知识. 一.概述 达梦数据库的备份还原方式:物理备份还原 ...
- 达梦数据库的备份、还原和恢复
一.备份.还原和恢复的意义 备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态.还原与恢复的主要目的是将目标数据库恢复到备份结束时刻的状态. 二.备份 ...
- DQL查询语句约束数据库设计备份和还原
DQL:查询语句 1. 排序查询* 语法:order by 子句* order by 排序字段1 排序方式1 , 排序字段2 排序方式2...* 排序方式:* ASC:升序,默认的.* DESC:降序 ...
- Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
MySQL 数据库的备份与还原 第一章:数据库的导入与导出 ① 数据库的导出 ② 大数据量下 mysqldump 的导出优化 ③ 数据库的导出 第一章:数据库的导入与导出 ① 数据库的导出 需要用到 ...
- MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- [JavaWeb-MySQL]数据库的备份和还原
数据库的备份和还原 1. 命令行:* 语法:* 备份: mysqldump -u用户名 -p密码 数据库名称 > 保存的路径* 还原:1. 登录数据库2. 创建数据库3. 使用数据库4. 执行文 ...
- SQL2008数据库的备份与还原
一.上期小编分享了SQL2000数据库的备份与还原,这期小编再来分享下SQL2008数据库的备份与还原. 二.SQL2008数据库的备份 1.登录sql server management studi ...
- java day27【DQL:查询语句、约束 、多表之间的关系 、范式 、数据库的备份和还原】...
第一章 DQL:查询语句 1. 排序查询 * 语法:order by 子句 * order by 排序字段1 排序方式1 , 排序字段2 排序方式2... * 排序方式: * ASC:升序,默认的. ...
- Oracle多个数据库备份和还原,oracle 多数据库还原
Navicat工具Oracle数据库复制 or 备用.恢复功能(评论都在谈论需要教) GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的ora ...
最新文章
- linux shell面试题(一)
- python使用matplotlib绘制一条正弦曲线(plot函数可视化sine plot)
- 简单说一下kafka 与其他消息队列
- 一些比较少用但比较有用的linux命令备忘
- 腾讯TBS X5 WebView的简单使用
- java restful中文乱码_restful服务接口访问乱码 和 505错误
- vb还是python强大-VB已死,Python当立 | 忆云竹
- Linux命令之awk:运算与判断(三)
- unity灯光Lightmapping、LightProbes
- SHELL中使用sed替换文本
- hot编码 字符one_使用字符级RNN进行名字分类
- MDUI 输入确认框
- 移动通信网络协议 — GTP-U 隧道协议
- 介绍一种冷门但简单的双拼方案——紫光双拼
- vue怎么在地址栏隐藏路由
- 人人 突破 权限 相册 查看
- 【林达华】How To Get A Solution
- DZ插件 [1314]模板自由切换 2.0.1版
- java 执行长事物_狂 热 和 许 诺
- 百度开放云java+tomcat部署web项目-小皇帝詹姆斯