[delphi技术] (SQL DBE、ADO连接)+(Firebird火鸟+DbExpress)+(VF DBF数据库)+(DB Paradox)

DBE

连接SQL Server显然用ADO或DBEXPRESS更有优势,起码连接起来比较方便。

BDE的话可以用如下方法:(以下以Delphi7为例,其它版本的DELPHI请自己摸索一下,不过基本相差不大)

1.启动Delphi,选择菜单项 Database->Explorer,在左侧Database列表里面右键,选择New,在弹出的驱动对话框里面选择MSSQL,确定,然后在左侧可以更改名字,如:TEST,然后在选中TEST在右侧选项里面添入ServerName(服务器名) UserName(登录名) DatabaseName(数据库名)

然后Apply并关闭

2.在窗体上添加一个Database控件,右击Database选择Database Editor...

在里面添上数据库在Delphi中的名称、数据库别名,并且添加参数

USER NAME=sa

Password=你的密码

保存返回

3.设置Database的LoginPrompt为False,Connected为True

正常的话,你已经连接至SQL Server了,这个并不算太麻烦,主要是分发的时候会比较费力气,所以最好还是用ADO来连接比较好。

ADO

最简单的方法

放个ADOquary1、Dbgrid1、dataSource1

设置ADOquary1的connect或者connectString属性连接你的数据库

Sql属性里写(select * from 【Table】)

DataSource1的DataSet属性设为AdoQuary1,Dbgrid1的dataSource设为dataSource1,将AdoQuary的Active属性改为True就可以运行结果了

Firebird火鸟+DbExpress(库后缀为*.DB)

1.TSQLConnection1 -TSQLDataSet1-TDataSetProvider1-ClientDataSet1-DataSource1

(几个控件全部是属性连接的,第一个用代码连接库的。)

procedure TForm1.FormCreate(Sender: TObject);
begin
if SQLConnection1.Connected=true then
  SQLConnection1.Connected:=false;
  SQLConnection1.Params.Clear;
  SQLConnection1.Params.Values[‘user_name‘]:=‘sysdba‘;
  SQLConnection1.Params.values[‘password‘]:=‘masterkey.pub‘;
  sqlConnection1.Params.Values[‘SQLDialect‘]:=‘3‘;
  SQLConnection1.Params.Values[‘database‘]:=extractfilepath(paramstr(0))+‘DATA.DB‘;
  SQLConnection1.Connected:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

with SQLDataSet1 do
    begin
      Close;
      CommandText:=‘select * from TORDERf‘;
      Open;
    end;

ClientDataSet1.Active:=True;

end;

发布程序:

1. midas.dll 放入C:\WINDOWS\system32中。 在“执行”中,执行regsvr32  C:\WINDOWS\system32\midas.dll。注册

2.EXE程序的同目录下必须有dbexpint.dll、GDS32.DLL二个文件。

3.电脑上必须安装FBWin32.exe。

DB2事务处理方法(DELPHI版)

1. 引用单元

uses DBXpress;

2.定义事务

var

G_TD: TTransactionDesc;//mysql事务

3.使用事务

procedure TForm1.Button1Click(Sender: TObject);

begin

G_TD.TransactionID:= 1;  //mysql事务ID

G_TD.IsolationLevel:= xilREADCOMMITTED; //mysql事务级别

try

SQLConnection1.StartTransaction(G_TD);

...

...

SQLConnection1.Commit(G_TD);

except

SQLConnection1.Rollback(G_TD);

end;

end;

VF DBF数据库

连接DBF数据
构造ado   connection   string
提供者选择   Microsoft   Jet   4.0   OLEDB   Provider
"所有 "那里编辑   Extended   Properties,
dbf文件的话设置为dBase   5.0(注意dBase和5.0之间必须有空格,最好拷贝过去粘贴)
db文件的话设置为Paradox   7.X
(dbf就是dbase或Vfox数据库,db就是paradox数据库)
“连接”那里的“数据库名称”输入的是目录名,不能包含文件名,
比如你的文件是   c:\temp\aaa.dbf   ,那么输入c:\temp
同时CursorLocation   设置为:   clUseServer

还可以:
如果直接连的话,ADO的连接字串设为:
adoConnection1.ConnectionString:= ‘Provider=MSDASQL.1;Extended   Properties= "Driver={Microsoft   Visual   Foxpro   Driver};SourceType=DBF;SourceDB=c:\mydb " ‘;
如果是用ODBC,先在ODBC中设一个DSN连接到该DBF库,然后,在ADOConnection中设置连接ODBC的连接字串即可(可以用向导帮助完成)

DB Paradox (delphi 自代的数据库)
with con1 do
begin
    Connected := False;
    ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin;Data Source=F:\pakageTest;Mode=Share Deny None;Extended Properties=Paradox 7.X;Persist Security Info=False ‘;
    LoginPrompt := False;
    Connected := True;
end;

qry1.close;
qry1.SQL.Text := ‘select * from inf‘;
qry1.Open;
注意:
如果电脑上出现,无法使用。是驱动的问题。查看 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats\Paradox 7.X "是否存在,如果不存在表示驱动版本不对。
最新jet4.0下载
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;239114

时间: 2024-07-30 01:07:58

[delphi技术] (SQL DBE、ADO连接)+(Firebird火鸟+DbExpress)+(VF DBF数据库)+(DB Paradox)的相关文章

Delphi 7 中,如何快速判断SQL是否能连接上??

Delphi 7 中,如何快速判断SQL是否能连接上?? 谢谢各位!! with DM do begin Conn.Connected := False; Conn.ConnectionString := Connstring; try Conn.Connected := True; except Application.MessageBox('Server connect error!!',cp_Main,MB_OCE); end; end; 你这个只是先断开再重新连接一下,如果SQL服务是没

ado连接sql server

//ado连接sql server //头文件加上以下这句. #import "C:\Windows\system\msado15.dll" no_namespace rename("EOF","rsEOF") </pre><pre code_snippet_id="620722" snippet_file_name="blog_20150316_3_7210460" name="

[delphi技术]Delphi多线程数据库查询(ADO)

ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoInitialize和CoUninitialize.调用CoInitialize失败会产生"CoInitialize was not called"例外. 2.画布不允许绘画(Canvas does not allow drawing):所以,必须通过Synchronize过程来通知主线程访问主窗体

Delphi多线程下的ADO编程

前言: 几个月前接到一个任务:将一后台程序访问数据库的方式从BDE改为ADO,原因是由于业务量的增加,通过BDE不论是向数据库写入数据还是从数据库中读出数据的速度都变得无法忍受,大家都知道ADO在数据库访问速度方面比BDE要快的多了(我写了一个测试程序使用ADO比使用BDE快了近100倍!).这个任务还不简单嘛,只要将BDE的控件更换成ADO的再修改一些代码不就搞定了!我当时确实是这么想的,而且用了不到一个小时就搞定,测试运行一段没问题,大功告成了,我想.谁知道一个恶梦就此开始,我的愚昧无知使我

delphi 多线程 动态创建ADO

delphi 在多线程中动态连接ADO控件 异常:exception class EOleSysError with message '尚未调用CoInitialize' 如果是使用多线程的话那就在 Execute事件的开头加上 CoInitialize(nil); 结尾加上CoUninitialize() unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo

一种利用ADO连接池操作MySQL的解决方案(VC++)

VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连接永远不关闭,直接数进程退出),但是这样做至少会引起两个问题:(1)资源竞争,多个数据库请求操作不能同时进行,后一请求必须要等到前一请求完成后才能进行:(2)多线程情况下容易出现混乱,甚至出现资源异常释放.还有一种方法,就是使用数据库时创建连接,使用完后关闭连接回收资源.这种方式在数据库操作频繁的情

c#配置问题以及简单防止sql注入,连接池问题,sqldatareader对象对于connection对象的释放

添加引用.system configuration configurationManager.AppSettings[""] <appSetings> <add key="" value=""> </appSetings> <connectionStrings> <add key="" connectionString=""> </conne

解决方案—SQL Server 远程连接失败

机房收费系统异地发布的时候,需要保证数据库能够远程连接,但连接的时候通常会报错: 要解决这个问题,首先需要检查SqlServer 的几项设置.(这些设置一般都是系统默认项,不过最好看一下) (一)检查SQL Server是否允许远程链接.以SqlServer 身份验证方式登陆.登录账户sa (二)打开配置管理器,检查微软SQL服务器(MSSQLServer)的TCP/IP协议是否开启. 确保上面设置正确后,进行最后的SQL服务器防火墙设置,(问题大多出在这里) 一.可以直接关闭防火墙,但是这样不

SQL Server 2008连接字符串写法大全

SQL Server 2008连接字符串写法大全 一..NET Framework Data Provider for SQL Server 类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft 标准安全连接 Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;