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 > )
{
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)") > -
||
row["TextData"].ToString().IndexOf("delete from ba_consume where") > -
)
{
//此时通知用户开台列表有变动
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)") > -
||
row["TextData"].ToString().IndexOf("delete from ba_consume_d") > -
)
{
//点菜操作
//此时通知用户点菜列表有变动
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

Sql Server数据库监听 c#代码的更多相关文章

  1. vs连接服务器sql server数据库 web.config和代码

    方法一.在web.config里面配置,后连接数据库 (1)web.config文件:加在<connectionStrings>和</connectionStrings> 之间 ...

  2. Python3.7.1学习(八) Python访问SQL Server数据库

    一.pip install pymssql即可安装pymssql库 二.Python连接SQL Server数据库     实例代码如下: # -*- coding:utf-8 -*-"&q ...

  3. JDBC连接sql server数据库的详细步骤和代码

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  4. JDBC连接sql server数据库的详细步骤和代码 转

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.C ...

  5. C#操作access和SQL server数据库代码实例

    在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...

  6. Java使用JDBC连接SQL Server数据库|实现学生成绩信息系统

    Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括 ...

  7. Microsoft SQL Server 数据库 错误号大全

    panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...

  8. Oracle 数据库监听配置和服务

    -- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...

  9. 细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意 ...

随机推荐

  1. LeetCode: Linked List Cycle II 解题报告

    Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no cyc ...

  2. linux nexus bulid

    1. 将下载好的nexus-2.5.1-bundle.tar.gz包,用FTP工具传至服务器上. 2. 解压安装包 解压命令: ? 1     tar -zvxf nexus-2.5.1-bundle ...

  3. 七牛文件上传-python

    #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os from sevencow import CowException ...

  4. python 获取有关访问者的浏览器的 细节

    检测访问者的浏览器和版本号有关访问者的浏览器的更多信息有关访问者的浏览器的全部细节根据浏览器来提醒用户 <html><body><script type="te ...

  5. C#使用线程池创建线程

    using System; using System.Threading; public class Example { public static void Main() { // Queue th ...

  6. MyBatis拦截器的执行顺序引发的MyBatis源码分析

    你猜一下哪个先执行?反正不要按常规来. <plugins> <plugin interceptor="com.Interceptor1"></plug ...

  7. freemarker XMLGregorianCalendar 转日期

    ${m.createdate.toGregorianCalendar().getTime()?string("yyyy-MM-dd")} createdate为XMLGregori ...

  8. jquery ajax 无刷新上传

    var form = new FormData(); form.append('file', $("#submitmaterials").find("input" ...

  9. Android studio中出现Couldn't resolve resource @dimen/...

    问题出现: Path.isConvex is not supported. Rendering problems .. Couldn't resolve resource @dimen/...等等 资 ...

  10. 怎么解决JSP中出现乱码的问题

    首先我们先了解一下问题的原因.一般情况在在每个JSP页的头部都有这样一条语句: 这条语句决定了此页面使用GB2312编码形式,而在数据库中一般用的是iso-8859-1字符集存储数据. 而Java程序 ...