Z ztliuyun Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-21 #1 三层结构中,时间可用ORACLE,客户端用CLIENTDATASET,在相连的DBGRID上输入新记录时, (不止一条)为保证在数据表格中编号的连续(编号为一字段,是流水号),如何处理,请大虾们 帮助.
三层结构中,时间可用ORACLE,客户端用CLIENTDATASET,在相连的DBGRID上输入新记录时, (不止一条)为保证在数据表格中编号的连续(编号为一字段,是流水号),如何处理,请大虾们 帮助.
Z ztliuyun Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-22 #3 我的意思是:1.由于是多用户操作,新记录编号是否在提交数据库时生成。若这样的话, 怎样具体实现? 2。若按icel所说,调用中间层方法,似乎只能生成一个编号,对一批怎么起作用?还有 就是怎样把得到的编号赋给Clientdataset或是DBGRID中的那个特定记录的编号字段?
我的意思是:1.由于是多用户操作,新记录编号是否在提交数据库时生成。若这样的话, 怎样具体实现? 2。若按icel所说,调用中间层方法,似乎只能生成一个编号,对一批怎么起作用?还有 就是怎样把得到的编号赋给Clientdataset或是DBGRID中的那个特定记录的编号字段?
M morboy Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-25 #6 三层结构生成编号有几种处理方式 如果如你所说是新添数据,可以在datasetprovider的onupdatedata事件中加代码 对传过来的dataset参数进行编辑,生成编号如: with datasetdo begin while not eofdo begin edit; fieldbyname('编号').Asstring:=你想生成的编号,具体实现你自己写; post; next; end; end; 因为你是多客户使用,所以在中间写方法客户端调用是不可行的 还有一种方法就是在数据库服务器上写触发器来实现了
三层结构生成编号有几种处理方式 如果如你所说是新添数据,可以在datasetprovider的onupdatedata事件中加代码 对传过来的dataset参数进行编辑,生成编号如: with datasetdo begin while not eofdo begin edit; fieldbyname('编号').Asstring:=你想生成的编号,具体实现你自己写; post; next; end; end; 因为你是多客户使用,所以在中间写方法客户端调用是不可行的 还有一种方法就是在数据库服务器上写触发器来实现了
A aaab Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-25 #8 re:三层结构中生成编号的问题 为什么一定要保证在数据表格中编号的连续? 如果不连续 1 可以读取client nic 的mac地址+流水号 2 cpu 是pIII,读取序列号+流水号 3 读取hdd serial no+流水号 4 生成guid 以上方法都可以生成唯一值 显示给client看得时候,在格式化成连续编号 不止以上方法是否可以
re:三层结构中生成编号的问题 为什么一定要保证在数据表格中编号的连续? 如果不连续 1 可以读取client nic 的mac地址+流水号 2 cpu 是pIII,读取序列号+流水号 3 读取hdd serial no+流水号 4 生成guid 以上方法都可以生成唯一值 显示给client看得时候,在格式化成连续编号 不止以上方法是否可以
Z ztliuyun Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-25 #10 补充:我的表格内存储的是入库单之类的单据,流水号自然要连续,新增记录的编号要依赖 于表格内的最后一个编号。我的困惑就是如何在多用户的环境中得到这个正确的编号。
M morboy Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-25 #11 按我的方式应该没问题 因为即使多用户,提交数据总有先后 你在提交的时候再根据数据库的最后一个数据编号产生新的编号 应该是最新的