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....