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

Problema grave

Estas en el tema de Problema grave en el foro de .NET en Foros del Web. Hola tengo el sig problema Tengo 2 maquinas facturando y necesito tener actualizado el stock el problema esta que si una de las maquinas se ...
  #1 (permalink)  
Antiguo 21/04/2010, 07:00
tiu
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Problema grave

Hola tengo el sig problema
Tengo 2 maquinas facturando y necesito tener actualizado el stock
el problema esta que si una de las maquinas se apaga me desfasa el stock.
tengo una grilla en mi facturador q cuando selecciono un producto actualiza el stock para q la otra maquina pueda ver el stock actualizado.
de esta forma si una falla x cierre de windows me modifica el stock como si huiera ocurrido todo normal

he probado con transacciones pero no se como hacerlo ya que ninca me detecta el rollback para desacer los cambios
  #2 (permalink)  
Antiguo 21/04/2010, 07:23
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Problema grave

Creo que debes de ampliarnos un poco la información para que te podamos ayudar, por ejemplo tu base de datos, lenguaje, etc.


Saludos
  #3 (permalink)  
Antiguo 21/04/2010, 07:28
tiu
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema grave

uso vb 2005 y sql server 2000

mi ejemplo es este

trans= conex.begintransaction
conex.open

try

coman= new sqlcoman("update art_01 set cantidad = '" & me.txt_cantidad.tex & "' where id art = '" & me.txt_codigo.text & "'",conex)

comando.transaction=trans

comando.executenonquery

trans.commit --> aca me guarda los datos permanentes

catch ex as exeption

trans.rollback ----> y aca si se corta la luz x ejemplo nunca entra

end try

lo que quiero es tener los datos actualizados pero desacerlos si se produce ese tio de error y no lo consigo
  #4 (permalink)  
Antiguo 21/04/2010, 10:38
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Problema grave

Pero siempre te esta ejecutando el Commit?
  #5 (permalink)  
Antiguo 21/04/2010, 12:10
tiu
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema grave

si.
como hago pàra ver los cambios si no ejecuto el commit?
hay alguna otra forma de hacerlo xq no la se
  #6 (permalink)  
Antiguo 21/04/2010, 16:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 63
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema grave

????

Y si dejas las dos estaciones como cliente y pones una maquina servidor? o simplemente usas una de servidor y la otra de cliente...

Vamos, que utilices la estructura, cliente-servidor, en vez de tener cada programa su base de datos local....

Saludos
  #7 (permalink)  
Antiguo 22/04/2010, 04:28
tiu
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema grave

uTILIZO LA METODOLOGIA CLIENTE - SERVIDOR
tenho el server y los 2 puestos de trabaja x otro lado y se conectan al server mediante una stringconnections.

el problema esta en q no me funciona y no se x q

supuestamente tendria q guardarme virtualmente los cambios y si se produce un error desacerlos ;;... ojo sino se hizo un commit, pero tampoco funciona.
  #8 (permalink)  
Antiguo 22/04/2010, 08:35
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Problema grave

Prueba con esto a ver como te va
Código C#:
Ver original
  1. try
  2.  
  3. conex.open
  4. trans= conex.begintransaction
  5.  
  6. coman= new sqlcoman("update art_01 set cantidad = '" & me.txt_cantidad.tex & "' where id art = '" & me.txt_codigo.text & "'",conex)
  7.  
  8. comando.executenonquery
  9.  
  10. trans.commit --> aca me guarda los datos permanentes
  11. conex.close
  12. catch ex as exeption
  13.  
  14. trans.rollback ----> y aca si se corta la luz x ejemplo nunca entra
  15.  
  16. end try

Nos cuentas como te fue

PD: Fijate que es básicamente el mismo código tuyo pero le elimine algunas cosas y otras las cambie de orden
Saludos
  #9 (permalink)  
Antiguo 22/04/2010, 09:52
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
ayuda en visual studio y sql

hola como estas...espero k bien y no molestarte...acabo de entrar a este foro buscado ayuda mira tengo un pequeña aplicacion k debe hacer eliminar...añadir un nuevo registro...y despues poderlo modificar..pero hasta ahora solo he podido hacer la conexion a la tabla (base) sql pero no puedo modificar nada...mucho agradecere si me puedes ayudar con este error..para que pueda terminiar mi proyecto...de antemano te doy las gracias
por otro lado te doy mi correo [email protected]...
por si encuentras necesario concatrme o enviarme la correcion

codigop
Imports System.Data.SqlClient

Public Class form1
Dim conexion As New SqlConnection
Dim comando, comando_insertar As New SqlCommand
'Dim tabla As DataTable


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
conexion.ConnectionString = "Data Source=MMARTINEZ\SQLEXPRESS;Initial Catalog=Sisventas;Integrated Security=True"
Try
conexion.Open()
comando.Connection = conexion
MessageBox.Show("se abrio la conexion")
Catch exception As SqlException
MessageBox.Show("no se abrio la conexion")
conexion.Close()
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sql_sentencia As String = "insert into productos (codigo_pro" & ",descripcion" & ",precio)" & "VALUES (@txtcodigo," & ",@txtdescripcion," & ",@txtprecio)"
comando_insertar.CommandText = sql_sentencia
comando_insertar.Connection = conexion
Try
If ((comando_insertar.ExecuteNonQuery()) <> 0) Then
MessageBox.Show("se registro correctamente el registro")
End If
Catch ex As Exception
MessageBox.Show("no se puedo insertar nada")
End Try
End Sub

End Class
  #10 (permalink)  
Antiguo 22/04/2010, 14:15
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Problema grave

Revisa esta linea,

Código C#:
Ver original
  1. Dim sql_sentencia As String = "insert into productos (codigo_pro" & ",descripcion" & ",precio)" & "VALUES (@txtcodigo," & ",@txtdescripcion," & ",@txtprecio)"

deberia de estar asi

Código C#:
Ver original
  1. Dim sql_sentencia As String = "insert into productos (codigo_pro" & ",descripcion" & ",precio)" & "VALUES (@txtcodigo," & "@txtdescripcion," & "@txtprecio)"

ademas en tu consulta estas usando parámetros y no veo que se asignen en ningun lado, dale una mirada a la documentación de la clase System.Data.DBParameter.


Saludos
  #11 (permalink)  
Antiguo 22/04/2010, 17:01
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Problema grave

Como dice gedarufi asigna los parametros.
Algo asi
comando.parameters.addwithvalue("@parametro",valor )

En cuanto a la forma de abrir la conexion me parece que no deberias tenerla en un boton. Trata de implementarla en una clase.

En el insert me imagino que estas tratando de tomar los datos de unos textbox, entonces seria algo asi
Insert into productos(codigo_pro,descripcion,precio)values('" & txtdescripcion.text & "'," & txtprecio.text & "' )


Saludos,

Etiquetas: Ninguno
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 00:57.