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
usesWindows, 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:=TrimEditPassWord.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 。
///
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
usesWindows, 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:=TrimEditPassWord.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 。