zoukankan      html  css  js  c++  java
  • Sql Server数据库监听 c#代码

    using AnfiniL.SqlServerTools.Data;
    using SqlServerTools;
    using SqlServerTools.Data;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Net;
    using System.Text;
    
    namespace windowsApiAcitonSimulation.Help
    {
        public class DBProfiler
        {
            public static void StartSqlServerProfiler()
            {
                IProfiler profiler = ToolsFactory.Instance.CreateProfiler("192.168.0.83,9920", "sa", "zdsoft123", null);
                profiler.Initialize(TraceOptions.FileRollover, DateTime.Now.ToString(".yyyy.MM.dd.HH.mm.ss"));
                var TraceFieldArr = new TraceField[] {
                        TraceField.TextData,
                       TraceField.StartTime,
                       TraceField.Writes,
                       TraceField.Reads,
                       TraceField.ApplicationName
                    };
                TraceEventProperties eventPropSql = new TraceEventProperties()
                {
                    Event = TraceEvent.SQLBatchCompleted,
                    Fields = TraceFieldArr
                };
                TraceEventProperties eventPropSP = new TraceEventProperties()
                {
                    Event = TraceEvent.RPCCompleted,
                    Fields = TraceFieldArr
                };
                profiler.AddTraceEvent(eventPropSql.Event, eventPropSql.Fields);
                profiler.AddTraceEvent(eventPropSP.Event, eventPropSP.Fields);
                var filter = new FilterProperties(
                       TraceField.ApplicationName,
                       (ComparisonOperator)Enum.Parse(typeof(ComparisonOperator), "Equal"),
                       "cszhidacysoft");
                if (filter.CheckFilter())
                {
                    profiler.AddTraceFilter(filter.Field, LogicalOperator.AND, filter.Operator, filter.TypedValue);
                }
                profiler.TraceEvent += profiler_TraceEvent;
                profiler.Start();
            }
            private static void profiler_TraceEvent(object sender, TraceEventArgs e)
            {
                if (e.EventsTable.Rows.Count > 0)
                {
                    foreach (DataRow row in e.EventsTable.Rows)
                    {
                        if (row["TextData"].ToString().IndexOf("insert into ba_consume(vcvipno,vcNo,vcCust_c,vcCust_n,iPeople,vcTable_c,vcTable_n,vcTimes,vcServer,dtTime,vcMemo,vcOper,dtOper,vcSaler,cType,bPrint,vcID)") > -1
                            ||
                            row["TextData"].ToString().IndexOf("delete from ba_consume where") > -1
                            )
                        {
                            //此时通知用户开台列表有变动
                            string url = "http://localhost:62123/api/server/GetKTChange";
                            WebClient client = new WebClient();
                            //上传并接收数据
                            string result = client.DownloadString(url);
                            break;
                        }
                        //insert into ba_consume_d(zsr,jb,costprice,jstcmny,jsmc,isdz,szsj,jsbm,tcbm,tcsl,tcdj,tcpkid,ddlx,vcNo,vcCode,vcName,fNumber,fNumber_s,vcUnit,mPrice,mMoney,iAgio,vcMemo,vcChoose,vcClass,vcPrint,dtChoose,vcEnter,bPrint,addmoney)
                        if (row["TextData"].ToString().IndexOf("insert into ba_consume_d(zsr,jb,costprice,jstcmny,jsmc,isdz,szsj,jsbm,tcbm,tcsl,tcdj,tcpkid,ddlx,vcNo,vcCode,vcName,fNumber,fNumber_s,vcUnit,mPrice,mMoney,iAgio,vcMemo,vcChoose,vcClass,vcPrint,dtChoose,vcEnter,bPrint,addmoney)") > -1
                            ||
                             row["TextData"].ToString().IndexOf("delete from ba_consume_d") > -1
                            )
                        {
                            //点菜操作
                            //此时通知用户点菜列表有变动
                            string url = "http://localhost:62123/api/server/GetDCChange";
                            WebClient client = new WebClient();
                            //上传并接收数据
                            string result = client.DownloadString(url);
                            break;
                        }
                    }
                }
            }
        }
    }

    依赖:

    https://files.cnblogs.com/files/gaocong/SqlServerTools.rar

  • 相关阅读:
    【原生】数组去重的方法
    【原生】详解Javascript中prototype属性(推荐)
    【原生】 ES5中的构造函数与 ES6 中的类 及构造函数的理解
    【react】React学习:状态(State) 和 属性(Props)
    【react】 flux 了解
    【请求数据】fetch 的get请求和post请求
    【react】 使用create-react-app创建react项目,运行npm run eject报错: 暴露webpack配置文件
    package.json 文件的介绍
    802.11协议精读1:学习资料整理(转)
    ns2之包结构解析
  • 原文地址:https://www.cnblogs.com/gaocong/p/8945484.html
Copyright © 2011-2022 走看看