Foros del Web » Programación para mayores de 30 ;) » .NET »

Acutalizacion fallida visual basic

Estas en el tema de Acutalizacion fallida visual basic en el foro de .NET en Foros del Web. Hola a todos una vez mas acudo a ustedes para que me ayuden con este pequeño fragmento de codigo ya que no actuliza nada. y ...
  #1 (permalink)  
Antiguo 04/07/2011, 21:40
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Acutalizacion fallida visual basic

Hola a todos una vez mas acudo a ustedes para que me ayuden con este pequeño fragmento de codigo ya que no actuliza nada.

y el mensaje que me muestra es el siguiente:

cmd.ExecuteNonQuery() se requiere una coneccion abierta y disponible.El estado actual es cerrado.

Espero su ayuda...

Código PHP:
Dim cnn As New SqlConnection
        Dim cmd 
As New SqlCommand

        cnn
.ConnectionString Me.conn.ConnectionString
        
        cnn 
= New SqlConnection 
cnn
.Open()

        
cmd cnn.CreateCommand()

        
cmd.CommandText "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CC'"
        
cmd.CommandText "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CB'"
        
cmd.CommandText "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CA'"

        
Me.RichTextBox1.Text " Facturas Canceladas en Ok."


        
cmd.ExecuteNonQuery()

        
cnn.Close()
        
cnn.Dispose()


    
End Sub 
y aqui es combro abro la coneccion

Código PHP:
Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgsHandles Me.Load


                Cambiar conexion a base de datos 
        conn
.ConnectionString "Data Source=TCP:5.244.194.132\PUNTADELCIELO,1433;Initial Catalog = 2011VT; Persist Security Info=True; User ID=xxxxxx; Password=xxxxxxxxx"

        
actualizaGrid()

    
End Sub 
  #2 (permalink)  
Antiguo 05/07/2011, 01:02
Avatar de JBalde  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid
Mensajes: 118
Antigüedad: 19 años, 2 meses
Puntos: 5
Respuesta: Acutalizacion fallida visual basic

Fijate que cuando declaras la conexion, haces un new connection, luego le asignas la cadena de conexión y acto seguido le vuelves a hacer un new, por lo que machacas los valores de la cadena de conexión y por tanto te conectas a ninguna parte. Prueba algo así:

Código PHP:
Dim cnn As New SqlConnection 
        Dim cmd 
As New SqlCommand 

        cnn
.ConnectionString Me.conn.ConnectionString 
        cnn
.Open() 

        
cmd cnn.CreateCommand() 

        
'cmd.CommandText = "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CC'" 
        '
cmd.CommandText "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CB'" 
        
cmd.CommandText "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CA'" 

        
Me.RichTextBox1.Text " Facturas Canceladas en Ok." 


        
cmd.ExecuteNonQuery() 

        
cnn.Close() 
        
cnn.Dispose() 


    
End Sub 
  #3 (permalink)  
Antiguo 05/07/2011, 09:03
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Respuesta: Acutalizacion fallida visual basic

Hola jBalde fijate si era ese el problema pero aun asi no realiza el update del cmd.CommandText

no se por que???.......Si ejecuto en sql el update funciona pero no dentro de la funcion.
  #4 (permalink)  
Antiguo 05/07/2011, 09:19
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Acutalizacion fallida visual basic

asi es como quedo pero aun asi no se ejecuta el update

Código PHP:
Public Sub okcancelar()

        
Dim cnn As New SqlConnection
        Dim cmd 
As New SqlCommand
        cnn
.ConnectionString Me.conn.ConnectionString
        cnn
.Open()
        
cmd cnn.CreateCommand()
        
cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CC'")
        
cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CB'")
        
cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CA'")

        
MessageBox.Show("No Actualizas")

        
Me.RichTextBox1.Text " Facturas Canceladas en Ok."
        
cmd.ExecuteNonQuery()
        
cnn.Close()
        
cnn.Dispose()
    
End Sub 
  #5 (permalink)  
Antiguo 05/07/2011, 09:27
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Acutalizacion fallida visual basic

Hola acse lo que te falta es enlazar tu SqlCommand con la conexion :
Código vb.net:
Ver original
  1. Public Sub okcancelar()
  2.  
  3.         Dim cnn As New SqlConnection
  4.         Dim cmd As New SqlCommand
  5.         cnn.ConnectionString = Me.conn.ConnectionString
  6.  
  7.         'TE FALTA ENLAZAR CON LA CONEXION
  8.         cmd.Connection = cnn
  9.  
  10.         cnn.Open()
  11.         'cmd = cnn.CreateCommand()
  12.         cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CC'")
  13.         cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CB'")
  14.         cmd.CommandText = ("UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CA'")
  15.  
  16.         MessageBox.Show("No Actualizas")
  17.  
  18.         Me.RichTextBox1.Text = " Facturas Canceladas en Ok."
  19.         cmd.ExecuteNonQuery()
  20.         cnn.Close()
  21.         cnn.Dispose()
  22.     End Sub
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 05/07/2011 a las 09:33
  #6 (permalink)  
Antiguo 05/07/2011, 10:02
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Acutalizacion fallida visual basic

Aunque simplificando podrias hacer esto :

Código vb.net:
Ver original
  1. Public Sub okcancelar()
  2.  
  3.         Dim cnn As New SqlConnection
  4.  
  5.         cnn.ConnectionString = Me.conn.ConnectionString
  6.  
  7.         Dim query As String = "UPDATE c_albven SET libre_1 = 'Ok.' WHERE letra = 'CC' or letra = 'CB' or letra = 'CA'"
  8.  
  9.         Dim cmd As New SqlCommand(query,cnn)
  10.  
  11.         cnn.Open()
  12.  
  13.         MessageBox.Show("No Actualizas")
  14.  
  15.         Me.RichTextBox1.Text = " Facturas Canceladas en Ok."
  16.         cmd.ExecuteNonQuery()
  17.         cnn.Close()
  18.         cnn.Dispose()
  19. End Sub
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 05/07/2011, 10:39
 
Fecha de Ingreso: agosto-2010
Ubicación: mexico
Mensajes: 125
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Acutalizacion fallida visual basic

Muchas gracias a todos por su apaortaciasn y sobre todo a ti "Aquaventus"

Estare por este foro muy Constante mente jejejeje.....
  #8 (permalink)  
Antiguo 05/07/2011, 22:12
Avatar de ramirezmario7  
Fecha de Ingreso: febrero-2008
Ubicación: Medellín
Mensajes: 336
Antigüedad: 16 años, 2 meses
Puntos: 56
Mensaje Respuesta: Acutalizacion fallida visual basic

Hola.
con esta instrucción
Me.RichTextBox1.Text = " Facturas Canceladas en Ok."
Estas mandando ese mensaje si hace o no el update

porque no agregas una variable de tipo int para saber si se hizo el update
asi:

int actualiza = cmd.ExecuteNonQuery() ;
if(actualiza > 0)
RichTextBox1.Text = " Facturas Canceladas en Ok." ;
else
RichTextBox1.Text = " Facturas no Canceladas" ;

el codigo te lo pongo en c#

Etiquetas: basic, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:37.