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. django中将model转换为dict的方法

    django中将model转换为dict的方法 from django.forms.models import model_to_dict from user.model import userpro ...

  2. 【Python】解决UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 0: ordinal not in range(128)

    指定文件字符集为utf-8 在文件头部加入以下代码: import sys reload(sys) sys.setdefaultencoding('utf-8')

  3. idea 项目添加web支持

    选中项目添加 add - web

  4. source activate my_env 失败,source not found

    今天连接到服务器后,安装anaconda.虽然在安装过程中选择将anaconda加入到系统变量中去.而且在 ~/.bashrc 中确实有 export PATH="/home/xnh/ana ...

  5. ARKit从入门到精通(2)-ARKit工作原理及流程介绍

    转载:http://blog.csdn.net/u013263917/article/details/73038519 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARK ...

  6. bash里wget失败

    直接使用wget是可以的,然而在shell脚本里却不行,后来发现原来是换行符的问题,编辑器默认的是\r\n,一不留神,自己把自己坑了

  7. visualstudio学习

    https://docs.microsoft.com/zh-CN/visualstudio/ide/get-started-with-visual-studio

  8. C#中的Partial

    Partial关键词定义的类可以在多个地方被定义,最后编译的时候会被当作一个类来处理. 首先看一段在C#中经常出现的代码,界面和后台分离,但是类名相同. public partial class Fo ...

  9. ctags简易用法

    vim + ctags a 首先我们必需给要阅读的原始码建一个或多个tags文件, 在shell下利用ctags命令给单个文件建立tags如下: $ ctags filename.c 要给同一个目录下 ...

  10. knockout.js模板绑定之利用Underscore.js模板引擎示例

    View代码 <h1>People</h1> <ul data-bind="template: { name: 'peopleList' }"> ...