SocketConnection的使用+interbase精要

笔记:
1、InterBase Manager
    管理InterBase的服务停止和运行
    包括InterBase启动方式,根路径,服务器属性和监控属性

2、IBConsole数据库管理工具
    集成化、图形用户界面的数据库管理工具
3、数据复制IBReplicator (可选部件)
4、InterBase 常用数据库设计管理工具
    IBConsole 自带
    EMS QuickDesk http://www.ems-hitech.com
    IBExpert http://www.ibexpert.com
    IBWorkbench
5、IBConsole使用
  注册服务器
  登陆
  成功登陆后,可以创建新数据库、注册已有数据库、备份恢复文件、查看证书和日志、添加修改用户
  和数据库交互 INteractive SQL
  其他:Bin目录下有isal命令行交互工具
6、IBExpert使用

注意
1、推荐用.ib作为数据库文件的扩展名
2、安全数据库名称为isc4.ib。也可以用设置ADMIN_DB参数将安全数据库更名
3、Dialects 是InterBase是否发挥其SQL新功能的标志。dialect 1不支持新功能,dialect 3保证使用全部新功能。数据库端和客户端必须保持Dialect一致。
4、InterBase 6.x及以上支持Date,Time,Timestamp数据类型。
5、获取当前日期和时间信息的操作符
CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP
6、Extract函数:从日期时间字段中抽取年月日小时等。Extract(关键字 from 字段)
7、SQL 语句的取消 isc_dspl_free_statement
8、XML格式数据导出
TIBOutputXML
API--isc_dspl_xml_fetch()
       isc_dspl_xml_fetch_all()
9、超级用户SYSDBA 密码:masterkey
10、InterBase对象
数据库(Database)表(Table)列(Column)视图(View)索引(Index)域(Domain)存储过程(Stored Procedure)触发器(Trigger)生成器(Generator)缺省(Default)规则(Rule)约束(Constraints)异常(Exception)用户自定义函数(UDF)BLOB过滤器(BLOB Filter)角色(Role)
11、数据类型
  数字型
  日期时间型
  字符类型
  布尔型
  二进制型

远程数据模块AccessServer上放置各个控件,最终效果如下图所示:

服务器远程数据模块
各控件的相关属性与作用如下表所示:

控件类型
所属页面
属性
作用
ADOConnection
ADO
name
ADOConnection1
连接Access文件
ConnectionString
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=./data/my.mdb;Persist Security Info=False
ADOQuery
ADO
name
ADOQuery1
执行相关查询操作
Connection
ADOConnection1
ClientDataSet
Data Access
name
DataSetProvider1
向客户端提供数据接口

 

1. 建立Application。其Form取名为FormClient,Project名为PrjClient;
2. 在Form上放置各个控件,最终效果如下图所示:
客户端界面
各控件的相关属性与作用如下表所示:

控件类型
所属页面
属性
作用
Edit
Stardard
name
txtQuery
接收查询语句
Text
select * from person
Button
Stardard
name
btnQuery

 

DCOMConnection
DataSnap
name
DCOMConnection1
通过DCOM方式连接服务器
ServerName
PrjServer.AccessServer
ClientDataSet
Data Access
name
ClientDataSet1
向远端发出SQL语句,并取得数据集
RemoteServer
DCOMConnection1
ProviderName
DataSetProvider1
DataSource
Data Access
name
DataSource1
作为数据呈现控件的数据源
DataSet
ClientDataSet1
DBGrid
Data Controls
name
DBGrid1
显示从远端取回的数据集
DataSource
DataSource1

说明:

l DCOMConnection1的ServerName属性是由列表中选取的,该列表是所有注册的MIDAS服务器列表
l ClientDataSet1的ProviderName属性指定的是服务器上的一个控件
3. 在Form上双击按钮btnQuery,在其Click处理函数下加入如下一段代码:
self.ClientDataSet1.Close;
self.ClientDataSet1.CommandText:=self.txtQuery.Text;
self.ClientDataSet1.Open;
说明:
如果给出的是无返回的SQL语句,最后一句由Open改为Execute。
运行后,效果如下图所示:
客户端运行效果

改变客户端的连接方式

在上面的例子中是用DCOM方式连接服务器,这一般只能在局域网内 使用。如果要在广域网内 使用,可以改用Socket方式连接服务器。为此需做如下改动:
1. 在服务器端运行Delphi自带的scktsrvr.exe程序,该程序在Borland/Delphi7/Bin/文件夹下
2. 在客户端上用SocketConnection控件替换DCOMConnection控件,有关属性的改动如下表所示:

控件类型
所属页面
属性
作用
SocketConnection
DataSnap
name
SocketConnection1
通过Socket方式连接服务器
Address
127.0.0.1(本机)
ServerName
PrjServer.AccessServer
ClientDataSet
Data Access
RemoteServer
SocketConnection1
向远端发出SQL语句,并取得数据集

注意:

SocketConnection的默认端口是211,这也是scktsrvr的默认端口。为此要在服务器端的防火墙上开放该端口

 

ClientDataSet1 

   with cdsqry1 do begin
        Close;
        Data:=DataRequest('select acct,typ,nam,FIRM,FENCOUNT,FENCOUNTTTL  from acct where CURRENT_DATE-setdat>365 and FENCOUNT<>0 and FENCOUNTTTL<>0 order by typ');
        Open;
     end;

 

 

ClientDataSet..Append;
ClientDataSet.FieldByName('A').AsString:='OK';
ClientDataSet.FieldByName('B').AsString:='NO';
ClientDataSet.FieldByName('C').AsString:='YEAS';
ClientDataSet.Post;
ClientDataSet.ApplyUdate(-1);

 soket

iR:=SktCRM.AppServer.AddFolio(sCustomer,FolioSno,sHostID,AuditDat,sTblDes,cAmt,cDisc,cSvc,
                      cTax,cPaid,cCash,cCdt,cGar,cAr,sSta,VG,VR);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值