delphi 连接SQLServer数据库

DELPHI 中的数据库开发有很多种类的 , 可以连接 Access 数据库 ,SQL Server 数据库 ,Orical 数据库 ,MySQL 数据库等等 , 一般基于连接有两种方式 ,BDE ADO 两种方式 ,BDE 一般就是楼上的方式 ,ADO 也差不多的 . 都是建立 Connection --->Command(Query) 执行 SQL 语句 ( 查询 , 插入 , 删除 , 更新等操作 ). 到后台的数据库操作核心部分都是 SQL 语句了 , 这点不同平台上的操作都是差不多的 . 之是连接模型和方式有点不同罢了 !
///
delphi
通过 odbc 连接 sql server

一、数据库的准备

打开 开始/程序/ Microsoft SQL Server/ 企业管理器 展开 控制台根目录 的目录,在标有 数据库 的目录项上点击右键,再点 新建数据库 ,如 “TEST” 。再右键点击表,新建表,如 TABLE1”。

二、设置 ODBC 数据源

打开 开始/设置/控制面板/管理工具/数据源( ODBC ,在 “User DSN” 下,点 Add ,选择 “SQL Server” ,完成,输入数据源名称,如 “TEST-ODBC” SQL Server 服务器名称,后面一直点 下一步 到最后一页,再点 “Test data source..” 检测设置是否正确。如果正确显示 “tests completed successfully!” 的信息。

三、设置数据引擎

打开 开始/程序/ Borland Delphi7/BDE Administrator” / "Databases" 页面下,可以看到,刚才设置的 ODBC 数据源 “TEST-ODBC” ,右键,选择 “OPEN” ,出现输入 "user name" "Password" 的对话框,输入用户名 Administrator 及密码后点击 OK 使它有效。这时,如果连接正常,右侧的项目名称的字体变成粗体。注意:如要修改参数值,应先鼠标右键点击左侧的数据库名称,选择 “Close” ,在修改参数值后,用鼠标右键点击左侧的数据库名称,选择 “Apply” 保存,再选择 “OPen” 使新的参数值生效。

四、建立连接

Delphi 窗体上添加下列组件: Database Query Datasource DBGrid 。其中 database 是连接 SQL Server 数据库和Q uery 的桥梁,Q uery 完成具体的查询要求, DBGrid 是为了显示数据库内容而添加的。

1、首先设置 Database

双击 database 组件,出现 database 参数设置对话框,在 alias name 中选择或输入刚才 bde administrator 中新建的数据库名称,在本例中是 test-odbc ,在 name 中为它输入一个新的名称,如 “test” ,再点击 “defaults”, 如果不想以后频繁输入用户名和密码,可以在参数项 password 中写入密码并确定 login paromp 项没有选中。在 connected 属性中,设置为 “true” ,连接 sql server.

2
、设置 dbgrid

dbgrid1 连接到 datasource1 ,再把 datasource1 连接到 query1, 这个十分简单,不再重复。

3、设置 query

query1.databaename 属性中,通过下拉列表,选择刚才在 database 设置中输入新的名称 “test” ,在 SQL 属性中输入 “use test select * from table1”, 再点击 active 属性为 “true”

现在看看 dbgrid 的显示, sql server 数据库里的数据已经传过来了,可以进行数据库开发了。
/
delphi
通过 ADO 连接 sql server

Delphi 中以 ADO 方式登录 SQL2000
--------------------------------------------------------------------------------
作者:不详  来源于:不详  发布时间: 2005-3-20 0:43:32
Delphi
是现今 Windows 平台上最好用的开发工具之一,而 SQL Server2000 又是微软最重要的数据库产品,功能强大,操作方便,两者结合便构成一个完美的 Client-Server 开发环境。结合微软的 ADO 数据引擎开发出来的数据库产品,速度快、界面优美而且效率高。 SQL server 拥有一套严密的登录认证机制,自动维护登录者列表,开发者可以直接利用这种安全机制,省去自己创建用户密码表的麻烦,那么如何在 Delphi 下登录到 SQL Server 数据库上呢?笔者结合实践,示范如下:

1. 创建一个新的工程,命名为 PrjApply, 同时创建一个表单作为主窗口,命名为 FormMain ,可加入主菜单 MainMenu;

2. 创建一个数据模块,命名为 DMApply, 加入一个 AdoConnection 控件,命名为 AdoConn ,设 LoginPrompt=false ,保存为 UnitDMApply.pas;

3. 创建一个表单,命名为 FrmEnter ,设 KeyPreview:=True, 引用 UnitDMApply 单元,保存为 EnterSys.pas

4. 在主表单 FormMain OnShow 中加入 : If not PWCheck then Application.Terminate; // 认证失败则退出。

5. 为测试程序,请在 SQL Server 中新建一个数据库 Apply2000 ,并加入新用户,如 梁焯彬 ,许可使用 Apply2000 数据库,角色为 DB_Owner

 系统启动后,先弹出密码校验窗口,输入 SQL Server 中的合法用户名、 SQL Server 名、用户密码,按 进入 即进行口令认证,有三次机会,三次均错即退出系统。由于认证期间,系统未打开任何数据表,因此数据非常安全。通过全面使用 ADO 引擎,系统发布时非常简单,只有一个 EXE 文件,不必预装 BDE 相关文件也不必装 SQL Server 的前台工具,无论是局域网用户还是 RAS 远程用户都一视同仁。

 本程序的技术核心在于 : 生成 AdoConnection 的连接字符串,赋给 :AdoConn.ConnectionString, 然后执行 AdoConn.Open 方法,同时捕捉错误,成功则 Connected 必定为 True, 失败则提示用户再试。注意,三个参数任一错误都会导致失败。

 单元中在 Implementation 关键字前有一公用函数 PWCheck ,负责管理密码校验表单,其它单元可直接执行它。

unit EnterSys;

interface

usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons,UnitDMApply;

type

TFrmEnter = class(TForm)

……

……

private

{ Private declarations }

p
ublic

{ Public declarations }

end;

var

FrmEnter: TFrmEnter; TryTimes:byte;

Function PWCheck:boolean; //
可由其它单元调用 , 密码校验

implementation

{$R *.DFM}

procedure TFrmEnter.ButtonTryClick(Sender: TObject);

var aPassWord,aOperName,
aSqlDB,aSqlServer,Apply_ConnStr:string;

begin

Screen.Cursor:=crHourGlass;

aOperName:=EditOper.text;//
操作员姓名

aSqlDB:='Apply2000';// 尝试登录的数据库名

aSqlServer:=EditServer.Text;// 服务器名

aPassWord:=TrimEditPassWord.Text);// 密码串

Apply_Con nStr:='Provider=SQLOLEDB.1;Password='+aPassWord

+';Persist Security Info=True;User ID='+aOperName

+';Initial Catalog='+aSQLDB+';Data Source='+aSqlServer;

Try

TryTimes:=TryTimes+1;

dmApply.AdoConn.Close;

dmApply.AdoConn.ConnectionStr
ing:=Apply_Co

nnStr; //ADO 连接字符串

dmApply.AdoConn.Open;

if dmApply.AdoConn.Connected then begin

ShowMessage('Apply2000
登录成功 ');

ModalResult:=mrOK

end else ModalResult:=mrCancel;

except

if TryTimes<3 then begin

Beep;

Scre
en.Cursor:=crDefault;

Showmessage(' 请再试一次!还有 '+Trim(IntToStr(3-TryTimes))+' 次机会 ');

EditOper.SetFocus; // 光标定位于第一编辑框

end else ModalResult:= mrCancel;// 三次后退出

end;

end;

procedure TFrmEnter.FormCreate(Sender: TObject);

begin

Trytim
es:=0; // 尝试的次数

end;

procedure TFrmEnter.FormActivate(Sender: TObject);

begin

EditOper.SetFocus; //
光标定位于第一编辑框

end;

procedure TFrmEnter.FormDestroy(Sender: TObject);

begin

ModalResult:= mrCancel;

end;

procedure TFrmEnt
er.FormKeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then begin //
判断是否回车键

key:=#0;

perform(WM_NEXTDLGCTL,0,0); //
移动到下一控件

end;

end;

procedure TFrmEnter.CboServerExit(Sender: TObject);

begin

EditPassWord.Text:
='';

// 清空密码框

end;

Function PWCheck:boolean;

var FrmEnter:TFrmEnter;

begin

FrmEnter:=TFrmEnter.Create(Application); //
创建登录表单

if FrmEnter.ShowModal=mrOK then Result:=True

else Result:=false;

FrmEnter.free;//
释放登录表单

end ;

procedure TFrmEnter.ButtonExitClick(Sender: TObject);

begin

self.Close;

end;

end.


以上程序适用于 Delphi5 SQL7 SQL2000  

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Delphi是一种集成开发环境(IDE),可以用于创建Windows应用程序。要在Delphi中备份SQL Server数据库,您可以使用以下步骤: 1. 首先,确保在Delphi中安装了相应的数据库连接组件,例如ADO(ActiveX 数据对象)组件。 2. 在Delphi中创建一个新的应用程序项目。 3. 使用ADO组件建立与SQL Server数据库连接。在连接组件的属性中,设置数据库的服务器名称、用户名和密码等信息。 4. 创建一个备份操作的按钮或菜单项,使用户能够触发备份操作。 5. 在备份操作的事件处理程序中,编写代码以执行备份操作。以下是一个示例代码: ```delphi procedure TForm1.BtnBackupClick(Sender: TObject); var MyConnection: TADOConnection; BackupQuery: TADOQuery; begin // 创建SQL Server数据库连接 MyConnection := TADOConnection.Create(nil); MyConnection.LoginPrompt := False; MyConnection.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;' + 'User ID=username;Password=password;Initial Catalog=databaseName;Data Source=serverName'; try // 建立与数据库连接 MyConnection.Connected := True; // 执行备份操作的SQL语句 BackupQuery := TADOQuery.Create(nil); BackupQuery.Connection := MyConnection; BackupQuery.SQL.Text := 'BACKUP DATABASE databaseName TO DISK = ''C:\backup\backup.bak'''; BackupQuery.ExecSQL; ShowMessage('数据库备份成功!'); except on E: Exception do ShowMessage('数据库备份失败:' + E.Message); end; // 释放资源 BackupQuery.Free; MyConnection.Free; end; ``` 以上代码示例中,需要替换username、password、databaseName和serverName为实际的SQL Server数据库连接信息。备份操作将数据库备份保存到指定的文件路径(C:\backup\backup.bak)。 通过以上步骤,您可以在Delphi中使用适当的代码来备份SQL Server数据库。请注意正确设置连接信息和备份路径,以确保成功备份数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值