CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 1 of 1
  1. #1
    Join Date
    Jan 2013
    Posts
    28

    How to fetch number of times users transaction insert update n delete using Datatabl

    Hi All,

    There is a folder in which there are several files. These files are having the data in comma separated values. Ex:
    Code:
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00200248' 'Customer Interaction' '2' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00200054' 'Customer Service Management' '2' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00200051' 'Initiative' '2' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00400286' 'ITIL V3 Service Transition' '3' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00400283' 'ITIL V3 Service Strategy' '3' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00400284' 'ITIL V3 Service Operations' '3' 'N'
    7/23/2015 2:04 AP\JinMengI **Info** SubmitToESS() Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID JPM_CAT_ITEM_ID JPM_DESCR90 JPM_RATING1 JPM_YN_3 JPM_DECIMAL_2 JPM_INTEGER_1 DELETE_FLAG STATUS_FLAG DATETIME_STAMP) Values ('294010' '00400287' 'ITIL V3 Continual Service Improvement' '2' 'N'

    Now I want to get the output data as below
    A Unique user , how many times he did insert , update .
    This insert and update can be found in the query (ex: Submit Query=INSERT INTO PS_UG_CV_ESS_STAG(EMPLID) in this query user has done only insertion. Like wise he has done update etc.
    Output should be in table as below:
    Code:
    User Name Insert Update Delete
    NA\KochKE 5 4 2
    AP\WanQingq 4 10 1
    EU\ZsoltH 12 4 1
    EU\HontA 10 4 0
    i have written the code to get the unique user but not able to get the transaction details for the unique users.
    Code:

    Code:
    Sub Skil()           
     Dim di As New IO.DirectoryInfo(cmbImport.SelectedItem)
            Dim aryFi As IO.FileInfo() = di.GetFiles("*.txt")
            Dim fi As IO.FileInfo
    
            Dim tbl As New DataTable("mytable")
    
            tbl.Columns.Add("Date Time", GetType(String))
            tbl.Columns.Add("User", GetType(String))
            tbl.Columns.Add("Information", GetType(String))
            tbl.Columns.Add("Function", GetType(String))
    
    
            Try
                For Each fi In aryFi
    
                  
                    Using myStream As System.IO.StreamReader = New System.IO.StreamReader(fi.FullName)
    
                        Dim line As String
                        Dim aRow As DataRow
                        While Not myStream.EndOfStream
                            line = myStream.ReadLine().TrimEnd
                            ' line.Substring(0, line.IndexOf(",")).Distinct.ToArray()
                            Dim sAry As String() = Split(line, ",") 'stream array
                            If sAry(3) = " Logged in" Then 'for the users who are in "Logged in" state...
                                aRow = tbl.NewRow
                                aRow(0) = sAry(0)
                                aRow(1) = sAry(1)
                                aRow(2) = sAry(2)
                                aRow(3) = sAry(3)
                                tbl.Rows.Add(aRow)
    
                            End If
                        End While
                    End Using
                Next
               
    
                Dim uniqueUsers As DataTable = New DataTable
                Dim dataview As DataView = New DataView(tbl)
    
                uniqueUsers = dataview.ToTable(True, "User")
                DataGridView1.DataSource = uniqueUsers
                Lbl_unique.Text = uniqueUsers.Rows.Count
    
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    end sub

    Regards
    Prity
    Last edited by HanneSThEGreaT; August 17th, 2015 at 02:17 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured