initial commit
This commit is contained in:
commit
252dac3143
1516 changed files with 694271 additions and 0 deletions
176
App_Code/Shared/AccessParser.vb
Normal file
176
App_Code/Shared/AccessParser.vb
Normal file
|
@ -0,0 +1,176 @@
|
|||
Imports System
|
||||
Imports System.Data
|
||||
Imports System.Data.OleDb
|
||||
Imports System.Configuration
|
||||
Imports System.Text
|
||||
Imports System.IO
|
||||
Imports System.Collections
|
||||
Imports System.Web
|
||||
Imports System.Web.Security
|
||||
Imports System.Web.UI
|
||||
Imports System.Web.UI.WebControls
|
||||
Imports System.Web.UI.WebControls.WebParts
|
||||
Imports System.Web.UI.HtmlControls
|
||||
|
||||
Namespace Persons.UI
|
||||
''' <summary>
|
||||
''' Summary description for AccessParser
|
||||
''' </summary>
|
||||
Public Class AccessParser
|
||||
Inherits Parser
|
||||
Implements IDisposable
|
||||
#Region "Private Member"
|
||||
|
||||
Private fileName As String = String.Empty
|
||||
Private commandText As String = String.Empty
|
||||
Private command As OleDbCommand = Nothing
|
||||
Private connection As OleDbConnection = Nothing
|
||||
Private reader As OleDbDataReader = Nothing
|
||||
Private m_connectionString As String = String.Empty
|
||||
Private _tableName As String = String.Empty
|
||||
|
||||
#End Region
|
||||
#Region "Properties"
|
||||
Friend ReadOnly Property ConnectionStringOne() As String
|
||||
|
||||
Get
|
||||
If HttpContext.Current.Session("pwd") IsNot Nothing Then
|
||||
Me.m_connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + Me.fileName + ";" + "Jet OLEDB:Database Password=" + HttpContext.Current.Session("pwd").ToString() + ";"
|
||||
Return Me.m_connectionString
|
||||
Else
|
||||
Me.m_connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + Me.fileName + ";" + "Persist Security Info=False;"
|
||||
Return Me.m_connectionString
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
Friend ReadOnly Property ConnectionStringTwo() As String
|
||||
Get
|
||||
Me.m_connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Me.fileName + ";"
|
||||
Return Me.m_connectionString
|
||||
End Get
|
||||
End Property
|
||||
Friend ReadOnly Property TableName() As String
|
||||
Get
|
||||
If Not IsValidTableName(Me._tableName) Then
|
||||
Dim aliasName As String = Me._tableName.Replace(" ", "_") & "_"
|
||||
Return String.Format("[{0}][{1}]", Me._tableName, aliasName)
|
||||
Else
|
||||
Return Me._tableName
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Function IsValidTableName(ByVal tableName As String) As Boolean
|
||||
|
||||
Dim specialChar As Char() = New Char() {"~"c, "-"c, "!"c, "@"c, "#"c, "$"c, "%"c, "^"c, "&"c, "*"c, "("c, ")"c, "`"c, "|"c, "\"c, ":"c, ";"c, "'"c, "<"c, ","c, ">"c, "."c, "/"c, "?"c, "["c, "]"c, "{"c, "}"c}
|
||||
If tableName.IndexOfAny(specialChar) > -1 Then
|
||||
Return False
|
||||
Else
|
||||
Return True
|
||||
End If
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
|
||||
Public Sub New(ByVal file As String, ByVal tableName As String)
|
||||
'
|
||||
' Add constructor logic here
|
||||
'
|
||||
Me.fileName = file
|
||||
Dim merror As Boolean = False
|
||||
Dim isConnectionOpen As Boolean = False
|
||||
Me._tableName = tableName
|
||||
Me.connection = New OleDbConnection(Me.ConnectionStringOne)
|
||||
Me.commandText = "SELECT * FROM " + Me.TableName
|
||||
Me.command = New OleDbCommand(Me.commandText, Me.connection)
|
||||
|
||||
Try
|
||||
Me.connection.Open()
|
||||
isConnectionOpen = True
|
||||
Me.reader = Me.command.ExecuteReader()
|
||||
Catch ex As Exception
|
||||
If Not isConnectionOpen Then
|
||||
Me.connection = Nothing
|
||||
Me.command = Nothing
|
||||
Me.connection = New OleDbConnection(Me.ConnectionStringTwo)
|
||||
Me.command = New OleDbCommand(Me.commandText, Me.connection)
|
||||
Try
|
||||
Me.connection.Open()
|
||||
|
||||
Me.reader = Me.command.ExecuteReader()
|
||||
Catch exe As Exception
|
||||
merror = True
|
||||
Throw New Exception(exe.Message)
|
||||
End Try
|
||||
If merror Then
|
||||
If Me.connection.State = ConnectionState.Open AndAlso Me.connection IsNot Nothing Then
|
||||
Me.connection.Close()
|
||||
End If
|
||||
Throw ex
|
||||
End If
|
||||
Else
|
||||
If Me.connection.State = ConnectionState.Open AndAlso Me.connection IsNot Nothing Then
|
||||
Me.connection.Close()
|
||||
End If
|
||||
Throw ex
|
||||
End If
|
||||
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
#Region "Parser member"
|
||||
|
||||
Public Overloads Overrides Sub Reset()
|
||||
' throw new NotImplementedException();
|
||||
End Sub
|
||||
|
||||
Public Overloads Overrides Function GetNextRow() As String()
|
||||
Dim row As New ArrayList()
|
||||
Dim columnIndex As Integer = 0
|
||||
If Me.connection.State <> ConnectionState.Closed Then
|
||||
|
||||
If Me.reader.Read() Then
|
||||
For columns As Integer = 0 To Me.reader.FieldCount - 1
|
||||
Try
|
||||
row.Add(Me.reader(columnIndex).ToString())
|
||||
Catch ex As Exception
|
||||
Throw New Exception(ex.Message)
|
||||
End Try
|
||||
columnIndex += 1
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
If row.Count <> 0 Then
|
||||
Return DirectCast(row.ToArray(GetType(String)), String())
|
||||
End If
|
||||
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Sub Close()
|
||||
Me.reader.Close()
|
||||
Me.reader = Nothing
|
||||
Me.connection.Close()
|
||||
Me.connection = Nothing
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "IDisposable Members"
|
||||
|
||||
Private Sub Dispose() Implements IDisposable.Dispose
|
||||
'throw new NotImplementedException();
|
||||
If Me.reader IsNot Nothing Then
|
||||
Me.reader.Close()
|
||||
Me.reader.Dispose()
|
||||
End If
|
||||
If Me.connection IsNot Nothing Then
|
||||
Me.connection.Close()
|
||||
Me.connection.Dispose()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
End Class
|
||||
End Namespace
|
Loading…
Add table
Add a link
Reference in a new issue