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

update no adminte comas

Estas en el tema de update no adminte comas en el foro de .NET en Foros del Web. hola amigos, ultimamente no encuentro muchas respuestas a mis preguntas, espero que hoy si, tengo un update que funciona de la siguiente manera, yo le ...
  #1 (permalink)  
Antiguo 11/05/2011, 15:51
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Pregunta update no adminte comas

hola amigos, ultimamente no encuentro muchas respuestas a mis preguntas, espero que hoy si, tengo un update que funciona de la siguiente manera, yo le pongo en un textbox lo que debe buscar en la grilla y en otro por que cifra sustituye lo que encuentra, el caso es que si por ejemplo pongo busca (1) y sustituyelo por (2), genial funciona de miedo, pero si le pongo busca 1,1 y sustituyelo por 1,2 me da error ...y es cuando pong una cifra por comas, sabeis por qué=?=
mi código

Public Sub remplazaeuros()
'Try
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet
Dim com = conexion.CreateCommand

com.CommandType = CommandType.Text
com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Pts = (" & TextRemplazar.Text & ") where NombreFormaPago <> ('TARJETA CREDITO') and Pts =ROUND (Pts <> (" & TextBuscar.Text & ")) and Fecha BETWEEN @FI AND @FF"

com.Parameters.AddWithValue("@FI", Fecha1.Value.Date.ToString("dd/MM/yyyy"))
com.Parameters.AddWithValue("@FF", Fecha2.Value.Date.ToString("dd/MM/yyyy"))

adapt.SelectCommand = com
conexion.Open()
Convert.ToDecimal(CInt(com.ExecuteNonQuery()))
conexion.Close()
'Catch
'End Try
End Sub
  #2 (permalink)  
Antiguo 12/05/2011, 08:10
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

No te entendi muy bien, lo que estas buscando es actualizar más de un campo en una sola instrucción?
__________________
http://ka0stj.wordpress.com/
  #3 (permalink)  
Antiguo 12/05/2011, 09:46
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

me explico mejor, tengo un datagridview dónde cargo varios campos, pero me interesa poder buscar un campo y cambiarlo por otro, no si algún día utilizaste en access 2003 la opción de buscar y reemplazar ... pues si lo hiciste yo busco lo mismo, poder decirle a mi aplicación, busca en la grilla en la columna x el número por ejmplo 2 y remplazalo por el número 3...me expliqué ahora?
  #4 (permalink)  
Antiguo 12/05/2011, 09:55
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

Claro, con un simple Update te lo soluciona, es decir, UPDATA TuTabla SET Campo = NuevoValor WHERE CAMPO = ValorBuscado
__________________
http://ka0stj.wordpress.com/
  #5 (permalink)  
Antiguo 12/05/2011, 13:51
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

ka0stj gracias amigo, tengo que quitarme el sombrero, muchas gracias, me has arreglado lio de trabajo un abrazo...pongo el código por si a alguien le arreglo la vida

Public Sub remplazaeuros()
'Try
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet
Dim com = conexion.CreateCommand

com.CommandType = CommandType.Text
com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Pts = (" & TextRemplazar.Text & ") where Pts = (" & TextBuscar.Text & ") and NombreFormaPago <> ('TARJETA CREDITO')and Fecha BETWEEN @FI AND @FF"

com.Parameters.AddWithValue("@FI", Fecha1.Value.Date.ToString("dd/MM/yyyy"))
com.Parameters.AddWithValue("@FF", Fecha2.Value.Date.ToString("dd/MM/yyyy"))

adapt.UpdateCommand = com
conexion.Open()
Convert.ToDecimal(CInt(com.ExecuteNonQuery()))
conexion.Close()
'Catch
'End Try
End Sub
  #6 (permalink)  
Antiguo 12/05/2011, 13:57
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

una pregunta, sabes por qué si pongo una coma me da este error?¿?

Error de sintaxis (coma) en la expresión de consulta '(1,5)'.
  #7 (permalink)  
Antiguo 12/05/2011, 13:59
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

Coma en que parte, en la consulta? de ser asi donde?
__________________
http://ka0stj.wordpress.com/
  #8 (permalink)  
Antiguo 12/05/2011, 14:00
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

arreglado, debe de ser con un punto 1.5 no 1,5 no se por que por que los euros son con coma, pero es lo que hay
  #9 (permalink)  
Antiguo 12/05/2011, 15:02
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

Excelente, de igual forma si en las cajas de texto quieres insertar con coma 14,5 lo puedes hacer y antes de enviarselo al update o a la consulta bueno en la parte donde te manda el error hacer un replace por un punto(.), es decir, TextRemplazar.Text.Replace(",",".")

Saludos!
__________________
http://ka0stj.wordpress.com/
  #10 (permalink)  
Antiguo 12/05/2011, 15:56
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

Public Sub remplazaProducto()
'Try
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet
Dim com = conexion.CreateCommand

com.CommandType = CommandType.Text
com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Producto = (" & TextRemplazar.Text & ") where Producto = (" & TextBuscar.Text & ") and NombreFormaPago <> ('TARJETA CREDITO')and Fecha BETWEEN @FI AND @FF"

com.Parameters.AddWithValue("@FI", Fecha1.Value.Date.ToString("dd/MM/yyyy"))
com.Parameters.AddWithValue("@FF", Fecha2.Value.Date.ToString("dd/MM/yyyy"))

adapt.UpdateCommand = com
conexion.Open()
CStr(com.ExecuteScalar()).ToString()
conexion.Close()
'Catch
MessageBox.Show("Los productos no pueden contener comas P,dr...etc")
'End Try
End Sub

ahora quiero cambiar el nombre del producto y me pone este error al ejecutar;
no se han especificado valores para algunos de los parametros requeridos...sabeis pro qué?=
  #11 (permalink)  
Antiguo 12/05/2011, 16:00
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

muy bueno lo de replace, no lo conocía...joer cuanto sabes...muchas gracias por tus aportaciones
  #12 (permalink)  
Antiguo 12/05/2011, 16:03
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

Con respecto a tu problema si Producto es de tipo VARCHAR envialo de la siguiente manera:

com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Producto = ('" & TextRemplazar.Text & "') where Producto = ('" & TextBuscar.Text & "') and NombreFormaPago <> ('TARJETA CREDITO')and Fecha BETWEEN @FI AND @FF"

De la misma forma en que envias 'TARJETA CREDITO' con comillas simples.
__________________
http://ka0stj.wordpress.com/
  #13 (permalink)  
Antiguo 12/05/2011, 16:13
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: update no adminte comas

Oye muchas gracias por todo, acabo de terminar el proyecto gracias a tu último aporte, no lo hubiera sacado en la vida no sabía que había que poner comillas simples en los casos de varchar...muy amable pongo el código para quien le pueda ayudar...

Public Sub remplazaProducto()
Try
Dim adapt As New OleDbDataAdapter
Dim setda As New DataSet
Dim com = conexion.CreateCommand

com.CommandType = CommandType.Text
com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Producto = ('" & TextRemplazar.Text & "') where Producto = ('" & TextBuscar.Text & "') and NombreFormaPago <> ('TARJETA CREDITO')and Fecha BETWEEN @FI AND @FF"

com.Parameters.AddWithValue("@FI", Fecha1.Value.Date.ToString("dd/MM/yyyy"))
com.Parameters.AddWithValue("@FF", Fecha2.Value.Date.ToString("dd/MM/yyyy"))

adapt.UpdateCommand = com
conexion.Open()
com.ExecuteScalar()
conexion.Close()
Catch
MessageBox.Show("Compruebe si los datos que ha introducido coínciden al completo con lo esperado")
End Try
End Sub
  #14 (permalink)  
Antiguo 12/05/2011, 16:17
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 2 meses
Puntos: 37
Respuesta: update no adminte comas

No te preocupes en este foro todos aprendemos de todos.

Saludos!
__________________
http://ka0stj.wordpress.com/

Etiquetas: comas, update
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 21:13.