DELPHI 连接数据库是个头痛的问题,现在我写了个通用方法,由一个配置工具和一个配置文件实现数据库连接并且可以加密字符串,有需要的留下邮箱,发给你。
1.新建一个窗体,放置5个控件,(TADOConnection的ConnectionString属性不需要指定连接字段)如下:
dbgrd1: TDBGrid;
ADOConnection: TADOConnection;
ds1: TDataSource;
qry1: TADOQuery;
Button1: TButton;
2.主要几个事件的定义以及编写
function GetSysPath:String; //获取系统运行路径
function ReadConnectionStr: String; //读取配制工具连接字符串
function Decode(S:string):string; //解码
function Encode(S:string):string; //编码
//获取系统运行路径
function GetSysPath:String;
begin
Result:=ExtractFilePath(ParamStr(0));
end;
//程序创建
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOConnection.ConnectionString:=ReadConnectionStr;
try
ADOConnection.Connected:=True;
except
on e:Exception do
begin
ADOConnection.Connected:=False;
ShowMessage('数据库链接失败!请通过DbSetup.exe进行数据库配置,文件为(DBConfig.Ini)'+#13+e.Message);
end;
end;
end;
//编码
function Encode(S:string):string;
var
Pwd,Bt:Byte;
I:Integer;
begin
if s = '' then
begin
Result:='';
Exit;
end;
Pwd := Trunc((Now()-Date())*24*3600) mod 256;
Result:=Chr(Pwd);
for I:=1 to Length(S) do
begin
Bt:=(Byte(S[I]) xor Pwd);
Result:=Result + Chr(Bt);
end;
end;
//解码
function Decode(S:string):string;
var
Pwd,Bt:Byte;
I:Integer;
begin
if S = '' then
begin
Result:='';
Exit;
end;
Pwd := Byte(S[1]);
for I:=2 to Length(S) do
begin
Bt:=((Byte(S[I])) xor Pwd);
Result:=Result+ Chr(Bt);
end;
end;
//读取配制工具连接字符串
function ReadConnectionStr: String;
var
DBConfig:file;
FileLen:Integer;
Buff:array[1..1024] of Char;
I:Integer;
begin
if not FileExists(Trim(GetSysPath)+'DBConfig.Ini') then
begin
Result:='';
Exit;
end;
try
AssignFile(DBConfig,Trim(GetSysPath)+'DBConfig.Ini');
Reset(DBConfig,1);
try
FileLen:=FileSize(DBConfig);
BlockRead(DBConfig,Buff,FileLen);
finally
CloseFile(DBConfig);
end;
for I:=1 to FileLen do
Result :=Result+Buff[I];
Result := Decode(Result);
except
Result:='';
end;
end;
//Button1按钮测试数据获取是否正常
procedure TForm1.Button1Click(Sender: TObject);
begin
qry1.Close;
qry1.SQL.Add('select * from tabel1');
qry1.Open;
end;
以上实例在Delphi 7 + SQL 2000 下测试通过,唯一的特点就是连接数据库的字符串加密了。
分享到:
相关推荐
DELPHI数据库通用模块是开发基于DELPHI的数据库应用系统时的重要组成部分,它提供了连接、操作和管理数据库的一系列标准化功能。在本导航中,我们将深入探讨如何构建和使用这些模块,以及它们在典型系统开发中的应用...
在描述中提到,此代码适用于"JAVA,asp的数据库调试连接",这表明该Delphi源码可能提供了一个通用的数据库连接模板,可以被其他语言如Java或ASP作为参考,尤其是对于调试数据库连接部分的代码。 在实际的Delphi代码...
本资源是《Delphi通用模块及典型系统开发实例导航》一书的配套光盘,涵盖了第1至5章节的内容,对于学习和掌握Delphi数据库开发有着重要的指导价值。 第1章:系统登录通用模块 系统登录是任何应用程序的第一道防线,...
在本章"DELPHI数据库通用模块及典型系统开发实例导航第11章 销售管理系统"中,我们将深入探讨如何使用DELPHI这一强大的面向对象编程语言来设计和实现一个高效、实用的销售管理系统。DELPHI以其直观的集成开发环境...
在 DELPHI 数据库通用模块及典型系统开发实例导航第10章中,我们主要探讨的是如何使用 DELPHI 开发一个物资管理系统。这个系统旨在帮助企业有效管理库存、采购、销售等物资流转过程,实现数据的实时跟踪和分析,提高...
Delphi连接Oracle数据库的通用登录模块,主要是涉及Delphi与Oracle数据库之间的操作,包括了 连接、登录数据库、创建记录集成操作,源代码文件中给出了丰富的注释,有些代码片段你可以直接用在你的Delphi开发项目中...
【描述】"Delphi连接Oracle免安装客户端, 直连数据库"揭示了主要的功能特性。通常,连接Oracle数据库需要安装Oracle客户端软件,这会占用大量磁盘空间并可能引入额外的系统依赖。然而,通过UniDAC,开发者可以在...
《Delphi数据库通用创建》 在软件开发过程中,数据库的创建是至关重要的一步,它为应用程序提供数据存储和管理的基础。本项目名为“Delphi数据库通用创建”,它提供了一个源码实现,允许开发者轻松地创建SQL Server...
TTable用于直接连接到数据库表,TQuery用于执行SQL查询,TDataSet作为一个通用组件,可以处理任何类型的数据源,而TDataSource则将数据提供给界面上的控件。 5. **SQL语言的应用** SQL(Structured Query Language...
还介绍了SQL 语言,包括通用SQL 查询语句、更新查询语句、表之间的连接和数据定义语言,并且着重说明了如何在Delphi中使用SQL 语句创建查询。 第 2 章首先介绍Delphi 文件管理的基本概念和标准过程/函数,并提供了...
BDE提供了一种将应用程序接口与数据库连接分离的方式,使得前端代码可以保持通用,只需调整BDE设置即可适应不同的数据源。而ADO是Microsoft的数据库访问技术,基于OLE DB,集成了DAO、RDO和ODBC的优点,成为新的...
2. **异常处理**:在尝试连接数据库时,还需要考虑可能出现的各种错误情况。例如,如果`pymee.udl`文件不存在或者连接失败,应该给出相应的提示信息: ```delphi try // 尝试连接代码... except ShowMessage('...
- **数据库集成**:通过Delphi的数据库连接组件(如ADO、FireDAC等),实现对各种数据库的有效访问。 #### 总结 Delphi不仅是一种强大的编程语言,而且还是一个全面的开发平台,特别适合于构建复杂的B/S架构下的...
总之,使用Delphi和MsSQL创建通用数据库程序涉及数据库连接、SQL命令的执行以及用户界面的设计。通过这个过程,开发者不仅可以提升在数据库管理方面的技能,还能对Delphi的数据库编程有更深入的理解。
"DELPHI数据库通用模块及典型系统开发实例导航 4" 针对的就是这一核心领域,尤其是数据访问通用模块的设计与实现。本章节将深入探讨如何在 DELPHI 中高效地处理数据,创建可复用的组件,以及解决实际开发中的常见...
DELPHI数据库通用模块及典型系统开发实例导航的第8章主要聚焦于工资管理系统的构建。在这一章节中,我们将深入探讨如何利用DELPHI这一强大的面向对象编程工具,结合其丰富的数据库支持,来设计和实现一个高效、易用...
介绍了Delphi通用模块的实现方法,这些模块包括系统登录通用模块、用户及管理权限管理通用模块、数据库连接通用模块、数据访问通用模块和数据显示及打印通用模块。 第二部分为第6章~第11章。对几个典型的Delphi...
首先,Delphi7中的ADO(ActiveX Data Objects)技术是连接数据库的主要方式。ADO提供了一种轻量级、高效的接口,允许开发者通过ODBC(Open Database Connectivity)或OLE DB直接与各种数据库进行通信。通过...
以下是关于 DELPHI 数据库通用模块及典型系统开发实例的一些核心知识点: 1. **系统登录界面设计**:登录模块通常包含用户名、密码输入框,登录按钮,以及可能的记住密码、自动登录选项。在 DELPHI 中,可以使用 ...
下面将详细阐述DBPanel组件的工作原理以及如何在Delphi中使用它来实现数据录入的通用方法。 首先,DBPanel是一个容器控件,它允许你将多个数据绑定控件(如DBEdit、DBMemo等)组织在一起,形成一个完整的数据输入...