当前位置:首页 » 数据仓库 » delphi数据库连接池
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

delphi数据库连接池

发布时间: 2022-12-16 13:23:31

‘壹’ delphi连接数据库

不知道你连接的是sql Server 还是Access?在连接不同的数据库时会有一点差别.
连接到SQL Server:
以下是设置:(以前回答别人的时候写的,这里修改了下)
1,新建Project。
2,在FORM中放入ADOConnection控件。
3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择

“Microsoft OLE DB Provider For SQL Server ”,然后点击“下一步”按钮,

在“连接”页中选择要连接的SQL数据库的路径和数据库的文件名.如果数据库没

有密码,那就可以了,如果有密码,在下面的两个编辑框中输入用户名和密码.
添入
用户名和密码后,点击“测试连接”按钮,出现“测试连接成功”的对话框。
5.把 ADOConnection控件的LoginPromtp设为false.
http://..com/question/26380588.html

连接access第3步有差别.
3,双击ADOConnection控件,然后点击Build...按钮,在“提供者”页中选择“Microsoft Jet 4.0 OLE DB Provider”,然后点击“下一步”按钮,在“连接”页中选择要连接的Access数据库的路径和数据库的文件名.如果数据库没有密码,那就可以了,如果有密码,这时如果点“测试连接”按钮时,出现“初始化提供者时发生错误,测试连接失败,密码无效”的错误提示(看步骤4)。
4,这时点“所有”页,然后双击“Jet OLEDB:Database Password”,出现对话框,添入密码后,选择“连接”页中的“测试连接”按钮,出现“测试连接成功”的对话框。
http://..com/question/16723147.html

设置AdoConnection控件的LoginP。。(忘记怎么写了)属性设置为false
这个属性是设置连接数据库时是否提示输入用户名和密码的。

‘贰’ delphi中如何配置数据库连接

ADOConnection1.ConnectionString := 'DSN=MS Access Database;DBQ=mdb文件名;DefaultDir=缺省工作路径;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=密码;UID=admin;';

例如:Access文件为db.mdb,设置密码为:hello,则:
ADOConnection1.ConnectionString := 'DSN=MS Access Database;DBQ=db.mdb;DefaultDir=;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=hello;UID=admin;';

无密码则为:
ADOConnection1.ConnectionString := 'DSN=MS Access Database;DBQ=db.mdb;DefaultDir=;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;PWD=;UID=admin;';

‘叁’ delphi动态设置数据库连接

SQLConnection1.Params.clear
然后再添上你自己修改的值
SQLConnection1.Params.Values['ServerName'] := '192.168.0.112';
SQLConnection1.Params.Values['Database'] := 'trackData';
SQLConnection1.Params.Values['User_Name'] := 'sa';
SQLConnection1.Params.Values['Password'] := '123456';
SQLConnection1.Open;

‘肆’ delphi中BDE如何连接数据库

要这样使用BDE的原生数据库连接,你需要打开BDE
Administrator工具,在configuration页里的Native节点上把DB2数据库服务有关的参数进行设置,然后保存就可以了,在BDE
Administrator
面板把数据相关的内容设置好后,就可以用BDE组件进行连接

‘伍’ Delphi中数据库连接

假设你的数据库名字为“我的数据库.mdb”,你可以在form的OnCreat事件写代码

procere TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(ParamStr(0))+'我的数据库.mdb;Persist Security Info=False';
end;

这样系统就能自动连接可执行文件所在文件夹下的数据库文件了

‘陆’ 谁在delphi中用过连接池

你做一个共享的连接池,程序初始化的时候把连接池连好,每次需要连接时创见个连接,从池子取出需要的连接
复制给新建连接,用完释放新建连接即可。我见过别人写的共享的连接池应用在数据库+客户端这种结构上,支持多线程!

‘柒’ 用delphi做的程序如何连接SQL数据库应该怎么操作

1. 新建一个FORM。在控件栏找到ADO一栏,把里面的ADOConnection和ADOQuery两个各建立一个放在FORM里。这两个控件运行后是不可见的,所以你可以随便放在FORM的任何位置。然后再找到DATA ACCESS一栏,把它下属的DataSource控件拖一个放到FORM里。用这三个控件就可以建立连接了。

2.设置相关属性,首先我们设置ADOConnection,这个控件就是与数据连接的控件。双击它弹出配置窗口,单击BUILD..按钮,出现数据库链接属性窗口,ACCESS数据库就选择有个JET4.0什么的那个数据库,如果是本地的数据库可以在下拉列表选择服务器名称或者自己直接输入服务器名称(远程的直接输入IP即可),然后输入登录密码和选择数据库。设置完成点击测试连接,显示成功说明链接正常,单击完成退出设置。

3 ADOQuery这个控件是用SQL操作数据库的,在它的属性栏有个connection属性,点击它的下拉菜单选择刚刚建立好的ADOConnection1,DataSource控件则是存放结果的地方,把它的DataSet属性设置成ADOQuery1。这样我们就可以通过调用ADOQuery来对数据库进行操作了。

4 链接好数据库以后就可以对数据库进行操作了。最常见的用法是建立一个DBGRID,然后把他的connection属性选成我们的Datasource1。如果你想预先设置好SQL语句的话,在ADOQUERY的左边属性栏里的SQL栏,点那个三个点的省略号输入你想查询的SQL语句。然后ACTIVE属性设置成TRUE,这样一运行,在DBGRID里就会显示你的SQL查询结果了。

‘捌’ DELPHI中的数据库连接

把ACCESS转成SQL数据库

很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项
一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的;
二,转换的方法
1,打开”控制面板“下”管理工具“中的”数据库源“;
2,按”添加“添加一个新的数据源,在选择栏里选”Driver do microsoft Access
(*.mdb)”,完成后将出现一个框,

在”数据库源“里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。
数据源在这里建好了,剩下转换了。

3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”;
4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续;
5,在数据库源下拉但中选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“;
6,“目的”不需要修改,选择服务器(一般下为自己的本机“local“,也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),“使用WINDOWS 身份验证“指用自己的系统管理员身份操作,“使用SQL身份操作验证“可以用于网站的操作,推荐用后者;
7,选上“使用SQL身份操作验证“后,填写你的用户名和密码,我自己选择的是系统默认号码“sa“,“****“,数据库选择刚新建的“ABC“,按“下一步“;
8,这一步的两个单项选择,“从数据源复制表和视图“与“用一条查询指令指定要传输的数据“,选择前者,按“下一步“继续;
9,这里将出现你自己ACCESS数据库的表,按“全选“后,下一步;
10,“DTS导入/导出向导“,看“立即运行“被选中按“下一步“,
11,按“完成“继续;
12,这个步骤你将看到你的数据被导入SQL2000里面,当出现“已经成功把XXX个表导入到数据库“的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的叉的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了.

三,数据修改
1,由于SQL2000里面没有“自动编号“,所以你的以“自动编号“设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的“标示“选择“是“,种子为“1“,增量为“1“,
2,另外,ACCESS2000转换成SQL2000后,原来属性为“是/否“的字段将被转换成非空的“bit“,这时候你必须修改成自己想要的属性了;
3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的.

ACCESS改为SQL需要注意哪几个地方

数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用decimal。

所有的默认值都丢失了。主要是数字类型和日期类型。

所有now(),time(),date()要改成getdate()。

所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)

有可能一些true/false类型不能使用,要变为1/0。

备注类型要通过cast(column as varchar)来使用。

CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整。

isnull(rowname)要改成rowname = null

ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!

转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。有时用smalldatetime型时,转化失败,而用datetime型时,转化成功。

对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“.

日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。

ACCESS转SQL SERVER的数据库的几点经验

1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:“delete * from user where id=10“,而对SQL SERVER数据库进行删除是用:“delete user where id=10“.
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。

‘玖’ Delphi如何与SQL数据库连接

connstr:='Provider=SQLOLEDB.1;Password=<sql
的用户ID的登录密码>;Persist
Security
Info=True;User
ID=<sql
的用户ID>;Initial
Catalog=<数据库名称>;Data
Source=<sql
服务器名称或IP地址>‘;
ADO下的ADOConnection控件
ADOConnection1.connectstring:=connstr;
Adoquery1.connect

ADOConnection1
Adoquery1.sql.clear;
Adoquery1.sql.add('select
*
from
表名
');
Adoquery1.open;