hur.cn - 华软网

 热门搜索

pb中如何实现针对个别用户消息发送?

  作者:未知    来源:网络    更新时间:2019/4/16
一个oa系统,针对不同的用户,当一些单的审核级别到了某用户的级另外时候,能发送一个消息提醒;
如果用定期检测数据库的话,那超过2000个客户端同时检查数据库将会对系统造成很大的负担.
希望能实现只针对需要审核用户的数据检查和发送消息体制,希望能获得回答.

------华软网友回答------
winsock
------华软网友回复------
study
------华软网友回复------
能不能详细点~!
------华软网友回复------
winsock,csdn里面已经有很多人讨论过了,你搜索一下能够找到很多资料。
------华软网友回复------
50块钱卖某庞大商场人事工资系统源码,pb8开发的;工资项定义、工资公式定义、工资自动计算、考勤数据管理、各种人事工资报表、人事信息管理、人事调动、人事离职管理、等等功能。。
------华软网友回复------
如果你是在提交票据时向下一个审核者发消息,能够用Winsock,用UDP方式会更简单些,无须服务端监听,详细的方法搜一下,很多的,注意如果用的是微软的Winsock控件,要在注册注册一下;
如果你是想在数据库举行监控,触发向客户端发信息,能够写个存储进程来调用:
create proc send_message as begin
  create table #tspid(
spid int null,
ecid int null,
status varchar(20) null,
loginname varchar(20) null,
hostname varchar(20) null,
blk bit null,
dbname varchar(20) null,
cmd varchar(20)
  )

insert into #tspid(spid,ecid,status,loginname,hostname,blk,dbname,cmd) exec sp_who 

create table #userip(id int identity,txt varchar(1000))

declare @cmdStr varchar(100), @hostName varchar(30), @userip varchar(20), @sendstr varchar(100)

declare tspid cursor for select hostname from #tspid where spid>50
open tspid

   fetch next from tspid into @hostname
   WHILE @@FETCH_STATUS = 0
   begin
select @cmdStr='ping '+@hostName
insert into #userip(txt) exec master..xp_cmdshell @cmdStr

select @userip=substring(txt,charindex('[',txt)+1,charindex(']',txt)-charindex('[',txt)-1) from #userip where id=2


  select @sendstr='net send '+@userip+' Messages!'
  exec master..xp_cmdshell @sendstr
   fetch next from tspid into @hostname
   end 

  drop table #tspid 
  drop table #userip
end
以上方式是转贴来的,经实践是可行的。
------华软网友回复------
mark~~~      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。