10月23日<重要技术点是项目上的自动化操作>

1.项目:

要和前台实现自动化,思想是前台上传工程之后,会在数据库的表中产生一行新数据,此时可以写一个触发器生成一个新的文件,然后利用程序监控这个文件的变化。当这个文件发生变化的时候,开启下一步的程序

1.打开存储过程

sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go

2.写生成文件的sql语句

EXEC master..xp_cmdshell 'bcp "SELECT * from ParallelTask.dbo.Project" queryout d:\abc1.txt -c -T -U''sa'' -P''sa'''

3.写触发器

create Trigger triproject
On ParallelTask.dbo.Project --在Student表中创建触发器
after Insert --为什么事件触发
As --事件触发后所要做的事情
begin
EXEC master..xp_cmdshell 'bcp "SELECT * from ParallelTask.dbo.Project" queryout d:\abc1.txt -c -T -U''sa'' -P''sa'''
end

ps.查看所有触发器:

查看所有触发器
use ParallelTask
go
select * from sysobjects where xtype='TR'

4.以下是实现c#监控文件变化的代码(列出一些常用的)

private   void   Form1_Load(object   sender,   System.EventArgs   e)   
  {   
  FileSystemWatcher   p   =   new   FileSystemWatcher("d://");   
  p.EnableRaisingEvents   =     true;   
  p.IncludeSubdirectories   =     true;   
  p.Changed+=new   FileSystemEventHandler(p_Changed);   
  p.Created+=new   FileSystemEventHandler(p_Created);   
  p.Deleted+=new   FileSystemEventHandler(p_Deleted);   
    
  }   
    
  private   void   p_Changed(object   sender,   FileSystemEventArgs   e)   
  {   
  string   s   =   e.Name;   
    
  this.listBox1.Items.Add(s+"文件被更改于 "+DateTime.Now);   
  }   
    
  private   void   p_Created(object   sender,   FileSystemEventArgs   e)   
  {   
  string   s   =   e.Name;   
    
  this.listBox1.Items.Add(s+"文件被创建于 "+DateTime.Now);   
  }   
    
  private   void   p_Deleted(object   sender,   FileSystemEventArgs   e)   
  {   
  string   s   =   e.Name;   
    
  this.listBox1.Items.Add(s+"文件被删除于 "+DateTime.Now);   
  }

然后接下来开始其他的事情啦。orz....

posted on 2013-10-24 09:22  叶龙  阅读(159)  评论(0编辑  收藏  举报