⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traceform.vb

📁 SQL Server 业已成为最为流行的几大数据库之一
💻 VB
字号:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''ch07 示例10
''
''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Trace
Imports Microsoft.SqlServer.Management.Common

Public Class TraceForm

    Dim tTraceFile As String
    Public Class TRACEREPLAYCLASS
        Inherits TraceReplay
        Public traceinfo As String
    End Class
    Dim btr As New TRACEREPLAYCLASS


    Private Sub btBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btBrowse.Click

        OpenFileDialog1.DefaultExt = "trc"
        OpenFileDialog1.Filter = "(跟踪文件)*.trc|*.trc"
        OpenFileDialog1.ShowDialog()
        tTraceFile = OpenFileDialog1.FileName

        If tTraceFile = "" Then
            MsgBox("请输入要访问的跟踪文件")
            Exit Sub
        End If


    End Sub

    Private Sub TraceForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        tTraceFile = ""

    End Sub

    Private Sub btReplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btReplay.Click

        If tTraceFile = "" Then
            MsgBox("还没有选择跟踪文件,请先选择跟踪文件")
            Exit Sub
        End If

        Dim bTF As New TraceFile
        Dim conn As SqlConnectionInfo

        Dim btfEventHandle As New ReplayEventHandler(AddressOf bTR_ReplayEvent)

        AddHandler bTR.ReplayEvent, btfEventHandle

        conn = New SqlConnectionInfo("(local)")

        bTF.InitializeAsReader(tTraceFile)
        bTR.Source = bTF
        bTR.Connection = conn
        btr.Start()

        Dim a() As String
        Dim i As Integer
        a = Split(btr.traceinfo, "/")
        For i = 0 To a.GetLength(0) - 1

            lbTrace.Items.Add(a(i))
        Next



        '            tr.Connection = new SqlConnectionInfo("localhost");
        '            tr.ReplayEvent += new ReplayEventHandler(tr_ReplayEvent);
        '            tr.Start(  );

        '            Console.WriteLine(Environment.NewLine + "Press any key to continue.");
        '            Console.ReadKey(  );


    End Sub

    Private Sub bTR_ReplayEvent(ByVal sender As Object, ByVal args As ReplayEventArgs)

        Dim i As Integer
        For i = 0 To args.CurrentRecord.FieldCount - 1

            sender.traceinfo = sender.traceinfo + args.CurrentRecord(i).ToString + "/"

            'sender.traceinfo = sender.traceinfo + args.CurrentRecord(i)
        Next

    End Sub


End Class


'using System;
'    using System.Data;
'    using System.Collections;

'    using Microsoft.SqlServer.Management.Common;
'    using Microsoft.SqlServer.Management.Smo;
'    using Microsoft.SqlServer.Management.Trace;

'Class Program
'    {
'        static void Main(string[] args)
'        {
'            
'        }

'        static void tr_ReplayEvent(object sender, ReplayEventArgs args)
'        {
'            Console.WriteLine("--- Record number: " + args.RecordNumber + " ---");
'            for (int i = 0; i < args.CurrentRecord.FieldCount; i++)
'                Console.WriteLine(args.CurrentRecord[i].ToString(  ));

'            Console.WriteLine(  );
'        }
'    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -