Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Xml
Imports Microsoft.visualbasic


Namespace LL.DataAccess
Public Class dataAccessLayer
	
	Function openConnection()
		Dim myConnection As SQLConnection = New SQLConnection(strConn)
		Return myConnection
	End Function

	Protected strConn as String = ConfigurationSettings.AppSettings("strConn")
	Protected objCnn As SqlConnection = openConnection()	


	Function CreateSQLCommand(strSQL as String) 
		Dim SqlCommand as New SqlCommand(strSQL,objCnn) 
		Return SqlCommand  
	End Function 
	
	Public Function ExecuteNonQuery(strSQL As String)
            Try
                objCnn.Open()
                Dim SqlCommand as SqlCommand = CreateSQLCommand(strSQL)
                SqlCommand.ExecuteNonQuery()
            Catch Exp As SqlException
                Throw(Exp)
            Finally
                objCnn.Close()
		objCnn.Dispose()
		objCnn = Nothing
            End Try
        End Function

	Public Function ExecuteNonQuerySQLparams(strSQL As String,ByVal sqlParameters As Collection)
	    Try
		objCnn.Open()
		Dim SqlCommand as SqlCommand = CreateSQLCommand(strSQL)	
		Dim Param As SqlParameter
                For Each param In sqlParameters
 		   SqlCommand.Parameters.Add(param)
		Next
		SqlCommand.ExecuteNonQuery()
	    Catch Exp As SqlException
		Throw(Exp)
	    Finally
		objCnn.Close()
		objCnn.Dispose()
		objCnn = Nothing
	    End Try
	End Function


	Public Function GetNewDataSet(strSQL As String)
		Try
			Dim objDataSet as New DataSet() 
			Dim objAdapter As New SqlDataAdapter() 
			objCnn.Open() 
			objAdapter.SelectCommand = CreateSQLCommand(strSQL) 
			objAdapter.Fill(objDataSet) 
			Return objDataSet 
		Catch Exp as SqlException 
			throw(Exp) 
		Finally 
			objCnn.Close() 
			objCnn.Dispose()
			objCnn = Nothing
		End Try 
	End Function

	
	
End Class
End Namespace