Multi-Tier结构程序开发基础教程 (二)[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 z33 的 blog


2.然后回到form1上,到form1的代码中的implementation下加入 uses unit2;,使之可以调用datamodule上的内容。再 拖一个dbgrid1上去。
如图:



3. 再编辑datamodule2的代码,如果没改名的话,就是unit2的代码。找到public,声明一个过程,在其下一行输入:procedure applydates;
再到implementation下一行,把这个过程写出来,代码如下:
procedure tdatamodule2.applydates;
var
 custvar:olevariant;

begin
 //这行是自动提交修改信息的语句。
 clientdataset1.checkbrowsemode;

 //下面几句是把修改的数据存入custvar变量。如果没修改custvar的值设成空(null)。
 if clientdataset1.changecount >0 then
 custvar:=clientdataset1.delta
 else
 custvar:=null; 
//这句需要在上面的uses里加入variants。

 try
//通过dcomconnection把custvar传服务器端的applyupdates去,是咱们自己写的。忘了?回去看看
  dcomconnection1.appserver.applydates(custvar); 
 showmessage('已经成功的写入服务器数据库');  //这里如果出错,请在uses中填上dialogs
 except
 showmessage('错误写操作'); 
  //异常处理,如果出错就执行句。

---------------------------------------------------------------------------
上面这些代码比就是客户端上传数据的代码,custvar变量对应服务器端咱们设的custvar变量,两个变量名可以不一样,但一般设成一样的比较好。

4.
再拖5个铵钮上去,属性设置和事件代码如下:

双击铵钮就会进入onclick的代码区,就填这儿。

控件
属性
onclick事件代码
buttion1 caption:=插入
datamodule2.clientdataset1.append;
buttion2 caption:=修改 datamodule2.clientdataset1.edit;
buttion3 caption:=删除 datamodule2.clientdataset1.delete;
buttion4 caption:=写入 datamodule2.applydates; //这句是调用刚才在datamodule2里自己填上去的过程。
buttion5 caption:=取消 datamodule2.clientdataset1.cancelupdates;

设置完成如图:

 

好了,这次客户端的所有设置也完成了,运行看看吧,运行通不过??呵呵,去查查是不是什么地方设置错了,或代码是不是写错了。

-------------------------------
累死我了,我要睡觉了。

本文关键:Multi-Tier
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top