生成主键的方法俄刚刚做过,里牵涉到了在应用服务程序服务器建立一个方法,待俄一一道来:
1.主体结构:数据库用什么没所谓,应用程序服务器与数据库以ado联接,即adoconnection,
adotable,datasetprovider.
客户端以socketconnection与应用程序服务器联接,可以对应一个cliendataset,将属性与
应用程序服务器端的datasetprovider相对应.
2.定义生成主键的方法login_create_key:
点击view|type library,(打开应用程序服务器源程序后),在端口项右击菜单|new|method,
树形结构新加一项method1,更名为login_create_key,设置参数lc_key,设为[out],如果
需要由客户端来传入参数的话可以再加一个,设为[in],要注意一点设为out传递方向的需要
带上指针即在参数类型后追加*号我们假设lc_key为要传递回客户端的参数,只设一个,类型
定为variant*.
3.编写程序代码
点击type_library窗体上的refresh按钮后,应用程序自动在远程数据模块单元中添加了对应的
login_create_key方法,其基本思路:假如应用程序服务器只在一台机器上运行,可以以完整的
时间now,去掉中间的空格和特殊符号':",生成一个永不会重复的主键如果觉得还不保险的话
就可以在注册表中定义一个变量,随记录数增加,把它放到由时间生成的字符串,好了开始写代码
procedure login_create_key(var lc_key
levarinat);safecall;(自动生成)
var
mykey:widestring;
begin
mykey:=formatdatetime('yyyy',now)+formatdatetime('mm',now)+formatdatetime('dd',now)+
formatdatetime('hh',now)+formatdatetime('m',now)+formatdatetime('ss',now);
lc_key:=mykey;
end;
4.在客户端调用方法取得回传主键
var
mykey
levariant;
begin
socketconnection.appserver.login_create_key(mykey);
showemssage(mykey);
end;