Ayuda conexiones bases de datos Visual .NET
Publicado por Luis (4 intervenciones) el 19/02/2013 11:27:08
Hola amigos mi problema es el siguiente:
Tengo creada una maquina tragaperras su codigo es:
El tema es que me tengo que crear otra clase donde esten los metodos necesarios para almacenar las partidas y tengo que borrar todo rastro de conexiones e implementarlo en la otra clase y no se como hacerlo AYudenme porfavorr
FORM
' Importacion de los NameSapces
Imports System.Data
Imports System.Data.OleDb
Public Class Principal
' Declaracion de los objetos necesarios
'CAMBIOS
Dim partidaConex As OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
'FIN CAMBIOS
Dim dr As OleDbDataReader
' En HoraInicio se almacena la hora en que comienza la partida, se usara para actualizar la tabla partidas
Public HoraInicio As String
Public Saldo, IdenPartida As Integer
Private bdAgenda As BDAgenda
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oleCmd, oleCmd2 As OleDbCommand
Dim Cincos, Puntos As Integer
Dim r As New System.Random(Now.Millisecond)
Dim RutaImagen As String
Dim imagenes(3) As System.Windows.Forms.PictureBox
Dim slot(3) As Integer
Dim Jugada, HoraJugada As String
Dim strInsert, strInsert2 As String
Dim IdComb As Integer
' Se usa un array para almacenar las imagenes
imagenes(1) = Me.imagen1
imagenes(2) = Me.imagen2
imagenes(3) = Me.imagen3
RutaImagen = "./imagenes/"
Me.Instrucciones.Hide()
' Jugada es la combinacion obtenida en cada partida que se almacena en la tabla combinaciones
Jugada = ""
Cincos = 0
For i As Integer = 1 To 3
slot(i) = r.Next(1, 9)
imagenes(i).Image = System.Drawing.Image.FromFile(RutaImagen & "img" & slot(i) & ".jpg")
Jugada &= CStr(slot(i))
If slot(i) = 5 Then
Cincos += 1
End If
Next
Saldo -= 1
Puntos = 0
Select Case (Cincos)
Case 1
Puntos = 2
Case 2
Puntos = 3
Case 3
Puntos = 4
End Select
Creditos.Text = Saldo
Saldo += Puntos
' Se almacena cada jugada en la tabla combinaciones y PartidasCombinaciones
Try
'CAMBIOS
partidaConex.Open()
strInsert = "INSERT INTO Combinaciones ( Nombre, Creditos ) VALUES( '" & Jugada & "'," & Puntos & ")"
oleCmd = New OleDbCommand(strInsert, partidaConex)
'FIN CAMBIOS
oleCmd.ExecuteNonQuery()
oleCmd.CommandText = "Select @@IDENTITY"
IdComb = oleCmd.ExecuteScalar
HoraJugada = System.DateTime.Now.ToString()
strInsert2 = "INSERT INTO PartidasCombinaciones ( IdPartida, IdCombinacion, Hora ) VALUES( " & IdenPartida & "," & IdComb & ",'" & HoraJugada & "')"
oleCmd2 = New OleDbCommand(strInsert2, partidaConex)
oleCmd2.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
'CAMBIOS
partidaConex.Close()
'FIN CAMBIOS
End Try
' cn.Close()
If Saldo <= 0 Then
' Al terminar la partida se graba el Saldo (0 en este caso) en la tabla Partidas
PonSaldoFin(HoraInicio)
Dim acercaDe As AboutBox1
acercaDe = New AboutBox1(Me)
acercaDe.Show()
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Dim oleCmd As OleDbCommand
'Dim strInsert As String
bdAgenda = New BDAgenda("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
' Credito inicial con el que cuenta el jugador
Saldo = 10
' Devuelve la fecha y hora actual que grabamos en la tabla Partidas
HoraInicio = System.DateTime.Now.ToString()
Try
' Establecer y abrir conexion con la b.d.
'partidaConex = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
'partidaConex.Open()
' Comando para ejecutar una insercion
Dim ret As Integer = bdAgenda.InsertaPartidas(HoraInicio, Saldo)
'strInsert = "INSERT INTO Partidas ( Hora, CreditoIni ) VALUES ( '" & HoraInicio & "'," & Saldo & ")"
'oleCmd = New OleDbCommand(strInsert, partidaConex)
'oleCmd.ExecuteNonQuery()
'oleCmd.CommandText = "Select @@IDENTITY"
IdenPartida = bdAgenda.consultaIdentity()
'IdenPartida = oleCmd.ExecuteScalar
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Button1_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
Me.Button1.BackColor = System.Drawing.Color.Red
End Sub
Private Sub Button1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
Me.Button1.BackColor = System.Drawing.Color.LightGray
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Public Sub PonSaldoFin(ByVal HoraInicio As String)
Dim oleCmd3 As OleDbCommand
Dim strUpdate As String
Try
'Actualiza el registro con el saldo final correspondiente a la HoraInicio
'CAMBIOS
partidaConex.Open()
'FIN CAMBIOS
strUpdate = "UPDATE Partidas SET CreditoFin=" & Saldo & " WHERE Hora='" & HoraInicio & "'"
oleCmd3 = New OleDbCommand(strUpdate, partidaConex)
oleCmd3.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'Se cierra la conexion
partidaConex.Close()
End Sub
Private Sub Principal_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
PonSaldoFin(HoraInicio)
End Sub
End Class
Tengo creada una maquina tragaperras su codigo es:
El tema es que me tengo que crear otra clase donde esten los metodos necesarios para almacenar las partidas y tengo que borrar todo rastro de conexiones e implementarlo en la otra clase y no se como hacerlo AYudenme porfavorr
FORM
' Importacion de los NameSapces
Imports System.Data
Imports System.Data.OleDb
Public Class Principal
' Declaracion de los objetos necesarios
'CAMBIOS
Dim partidaConex As OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
'FIN CAMBIOS
Dim dr As OleDbDataReader
' En HoraInicio se almacena la hora en que comienza la partida, se usara para actualizar la tabla partidas
Public HoraInicio As String
Public Saldo, IdenPartida As Integer
Private bdAgenda As BDAgenda
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oleCmd, oleCmd2 As OleDbCommand
Dim Cincos, Puntos As Integer
Dim r As New System.Random(Now.Millisecond)
Dim RutaImagen As String
Dim imagenes(3) As System.Windows.Forms.PictureBox
Dim slot(3) As Integer
Dim Jugada, HoraJugada As String
Dim strInsert, strInsert2 As String
Dim IdComb As Integer
' Se usa un array para almacenar las imagenes
imagenes(1) = Me.imagen1
imagenes(2) = Me.imagen2
imagenes(3) = Me.imagen3
RutaImagen = "./imagenes/"
Me.Instrucciones.Hide()
' Jugada es la combinacion obtenida en cada partida que se almacena en la tabla combinaciones
Jugada = ""
Cincos = 0
For i As Integer = 1 To 3
slot(i) = r.Next(1, 9)
imagenes(i).Image = System.Drawing.Image.FromFile(RutaImagen & "img" & slot(i) & ".jpg")
Jugada &= CStr(slot(i))
If slot(i) = 5 Then
Cincos += 1
End If
Next
Saldo -= 1
Puntos = 0
Select Case (Cincos)
Case 1
Puntos = 2
Case 2
Puntos = 3
Case 3
Puntos = 4
End Select
Creditos.Text = Saldo
Saldo += Puntos
' Se almacena cada jugada en la tabla combinaciones y PartidasCombinaciones
Try
'CAMBIOS
partidaConex.Open()
strInsert = "INSERT INTO Combinaciones ( Nombre, Creditos ) VALUES( '" & Jugada & "'," & Puntos & ")"
oleCmd = New OleDbCommand(strInsert, partidaConex)
'FIN CAMBIOS
oleCmd.ExecuteNonQuery()
oleCmd.CommandText = "Select @@IDENTITY"
IdComb = oleCmd.ExecuteScalar
HoraJugada = System.DateTime.Now.ToString()
strInsert2 = "INSERT INTO PartidasCombinaciones ( IdPartida, IdCombinacion, Hora ) VALUES( " & IdenPartida & "," & IdComb & ",'" & HoraJugada & "')"
oleCmd2 = New OleDbCommand(strInsert2, partidaConex)
oleCmd2.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
'CAMBIOS
partidaConex.Close()
'FIN CAMBIOS
End Try
' cn.Close()
If Saldo <= 0 Then
' Al terminar la partida se graba el Saldo (0 en este caso) en la tabla Partidas
PonSaldoFin(HoraInicio)
Dim acercaDe As AboutBox1
acercaDe = New AboutBox1(Me)
acercaDe.Show()
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Dim oleCmd As OleDbCommand
'Dim strInsert As String
bdAgenda = New BDAgenda("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
' Credito inicial con el que cuenta el jugador
Saldo = 10
' Devuelve la fecha y hora actual que grabamos en la tabla Partidas
HoraInicio = System.DateTime.Now.ToString()
Try
' Establecer y abrir conexion con la b.d.
'partidaConex = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Partidas.mdb;")
'partidaConex.Open()
' Comando para ejecutar una insercion
Dim ret As Integer = bdAgenda.InsertaPartidas(HoraInicio, Saldo)
'strInsert = "INSERT INTO Partidas ( Hora, CreditoIni ) VALUES ( '" & HoraInicio & "'," & Saldo & ")"
'oleCmd = New OleDbCommand(strInsert, partidaConex)
'oleCmd.ExecuteNonQuery()
'oleCmd.CommandText = "Select @@IDENTITY"
IdenPartida = bdAgenda.consultaIdentity()
'IdenPartida = oleCmd.ExecuteScalar
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Button1_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
Me.Button1.BackColor = System.Drawing.Color.Red
End Sub
Private Sub Button1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
Me.Button1.BackColor = System.Drawing.Color.LightGray
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Public Sub PonSaldoFin(ByVal HoraInicio As String)
Dim oleCmd3 As OleDbCommand
Dim strUpdate As String
Try
'Actualiza el registro con el saldo final correspondiente a la HoraInicio
'CAMBIOS
partidaConex.Open()
'FIN CAMBIOS
strUpdate = "UPDATE Partidas SET CreditoFin=" & Saldo & " WHERE Hora='" & HoraInicio & "'"
oleCmd3 = New OleDbCommand(strUpdate, partidaConex)
oleCmd3.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'Se cierra la conexion
partidaConex.Close()
End Sub
Private Sub Principal_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
PonSaldoFin(HoraInicio)
End Sub
End Class
Valora esta pregunta


0