Nota
Enviado por Mauricio Camba Flojonaso • 22 de Septiembre de 2015 • Apuntes • 2.714 Palabras (11 Páginas) • 196 Visitas
Public Class Conexiones
'Private Shared Property CONECTAR As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath.ToString.Substring(0, Application.StartupPath.ToString.Length - 28) & "BaseDatos\" & "Base2007.mdb")
Protected Configuracion As System.Configuration.ConnectionStringSettings = System.Configuration.ConfigurationManager.ConnectionStrings("cn")
'ATENCION AQUI: si deseas provar una conexion cuando ya esta instalado el software puedes usar tambien esta opcion :
'descomentas la parte de aqui:
'Private Shared Property CONECTAR As New MySql.Data.MySqlClient.MySqlConnection(Cadena_Protegida())
'y comentas la parte de aqui abajo que tiene una cadena que quiere decir donde se instale tiene que estar su carpeta de la base de datos al costado de la carpeta de la aplicacion donde se instalo :
Private Shared Property CONECTAR As MySql.Data.MySqlClient.MySqlConnection = New MySql.Data.MySqlClient.MySqlConnection("Server=localhost;Initial Catalog=BD_Informatico;User Id=root;port=3306;Password=123456;Allow Zero Datetime=true;")
'cuando comentes este lo unico que tienes que aser es configurarlo manualmente en el App.config pero cuando se instala en la carpeta bin\Debug aparese como archivo Empleados.exe.config pones tu cadena en connectionString
'si encaso mueves tu base de datos a cualquier lado pones esa ruta bueno es en el caso de access despues en las demas bases de datos que son como servidores tiene su conexion preestablecida
Private Shared Function Cadena_Protegida() As String
Dim Configuracion As New Conexiones
Return Configuracion.Configuracion.ConnectionString
End Function
'Shared quiere decir que es compartida
Public Shared Function Obtener_Consultas(ByVal Consulta_Data As String) As DataSet
Dim dt As New DataSet
Try
CONECTAR.Open() 'ábro la coneion
MI_ADAPTADOR(MI_COMANDOS(Consulta_Data)).Fill(dt)
Catch ex As Exception
MessageBox.Show(ex.Message, "Consulta a FACEBOOK: DansZavach")
Finally
CONECTAR.Close() 'cierro conexion
End Try
Return dt 'retorno llena
End Function
Protected Shared Function MI_COMANDOS(ByVal Consultas_Sentencias As String) As System.Data.IDbCommand
MI_COMANDOS = CONECTAR.CreateCommand() 'creo o inicializo el comenado
MI_COMANDOS.Connection = CONECTAR 'establesco o compruevo la conexion
MI_COMANDOS.CommandText = Consultas_Sentencias 'establesco la sentencia o consulta ya armada tipo texto
Return MI_COMANDOS
End Function
Protected Shared Function MI_ADAPTADOR(ByVal Mi_Comando As Object) As System.Data.IDataAdapter
MI_ADAPTADOR = Nothing
If TypeOf Mi_Comando Is OleDb.OleDbCommand Then
MI_ADAPTADOR = New System.Data.OleDb.OleDbDataAdapter(Mi_Comando)
ElseIf TypeOf Mi_Comando Is Odbc.OdbcCommand Then
MI_ADAPTADOR = New Odbc.OdbcDataAdapter(Mi_Comando)
ElseIf TypeOf Mi_Comando Is SqlClient.SqlCommand Then
MI_ADAPTADOR = New SqlClient.SqlDataAdapter(Mi_Comando)
ElseIf TypeOf Mi_Comando Is OracleClient.OracleCommand Then
MI_ADAPTADOR = New OracleClient.OracleDataAdapter(Mi_Comando)
ElseIf TypeOf Mi_Comando Is Npgsql.NpgsqlCommand Then
MI_ADAPTADOR = New Npgsql.NpgsqlDataAdapter(Mi_Comando)
ElseIf TypeOf Mi_Comando Is MySql.Data.MySqlClient.MySqlCommand Then
MI_ADAPTADOR = New MySql.Data.MySqlClient.MySqlDataAdapter(Mi_Comando)
End If
Return MI_ADAPTADOR
End Function
Public Shared Function GeneradorCodigo(ByVal Consulta As String) As Integer
Dim Comando As IDbCommand = MI_COMANDOS(Consulta)
If CONECTAR.State = ConnectionState.Open Then CONECTAR.Close() 'porsiaca si en caso este abierto la conexion la cieero y la vuelvo abrir
CONECTAR.Open() 'ábro la coneion
Dim codigo As Integer
If Comando.ExecuteScalar Is DBNull.Value Then 'si es la primer aves que se ase la consulta es porque no ay ningun dato registrado y esto ara que el max sea nulo entonces asigno 1 ala variable Codigo
codigo = 1
Else
codigo = Comando.ExecuteScalar + 1 'obtengo la primera fila y la sumo +1
End If
CONECTAR.Close() 'cierro conexion
Return codigo 'retorno valor codigo
End Function
Public Shared Function Sentencia_Agregar(ByVal Tabla As String, ByVal Campos As String, ByVal ParamArray Valores() As Object) As Integer
Dim Comando As Object, Filas As Integer, Sentencia As String, Campos_Objetos As Object, i As Integer, Indice As String = ""
Sentencia = "INSERT INTO " & Tabla & " (" & Campos & ") VALUES ("
Campos_Objetos = Campos.Split(",") 'separo la cadena que trae el nombre de las columnas de la tabla y devuelvo en matriz en el objeto
Comando = CONECTAR.CreateCommand()
For i = 0 To UBound(Campos_Objetos) 'recorro el subindice donde estan los valores
If TypeOf Comando Is OleDb.OleDbCommand Or TypeOf Comando Is MySql.Data.MySqlClient.MySqlCommand Or TypeOf Comando Is Odbc.OdbcCommand Then
Sentencia = Sentencia + "?," 'y voy sumando ? ala cadena conforme la cantidad recorrida osea esa cantidad serian los nombres de las columnas de la tabla
Indice = "?"
ElseIf TypeOf Comando Is SqlClient.SqlCommand Or TypeOf Comando Is Npgsql.NpgsqlCommand Then
Sentencia = Sentencia + "@" & i.ToString & ","
Indice = "@"
ElseIf TypeOf Comando Is OracleClient.OracleCommand Then
Sentencia = Sentencia + ":" & i.ToString & ","
...