• Viernes 8 de Noviembre de 2024, 07:40

Autor Tema:  como ejecutar la sentencia UPDATE en visual para modificar varios campos?  (Leído 6823 veces)

ezequiel913

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
como ejecutar la sentencia UPDATE en visual para modificar varios campos?
« en: Miércoles 7 de Marzo de 2012, 20:20 »
0
Hola Gente!!!

Tengo un problemita que no puedo resolver, necesito ejecutar la sentencia Sql Update para modificar mas de un campo, y no me deja, los datos nuevos que ingreso los tomo de unos TextBox. cuando ejecuto el programa sale por el RollbackTrans.

El codigo que tengo es el siguiente:

Código: Visual Basic
  1. sql = ("UPDATE CLIENTES SET Nombre = " + "'" + Text1(2) + "'," + " Direccion = " + "'" + Text1(3) + "'," + " CODIGOPOSTAL = " + Str(Text1(4)) + ",  FechaAlta = " & "'" + CStr(Text1(5)) + "'" + ", RespFiscal = " + "'" + Text1(6) + "', Cuit = " + "'" + Text1(1) + "'," + " Where ID_Codigo = " + Str(Text1(0)))

bueno en esa variable sql guardo la consulta que es de tipo de string. y despues se la paso como parametro a una funcion que ejectuta la sql.

yo depurando un poco no note ningun problema en la funcion que ejecuta el sql, por que para los insert uso la misma y no hay problemas. creo que esta en como arme la sql con todos los textbox, nose si tengo una comilla de mas o algo que me falta, nose.

Si nose entiende lo que quiero por favor avisenme.

Saludos!!!

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
« Respuesta #1 en: Jueves 8 de Marzo de 2012, 16:04 »
0
Hola, bienvenido al foro.
Has lo siguiente, imprime la variable sql ya formada y pégala acá, para ver realmente como se está formando.
Saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com

caperutxa

  • Miembro activo
  • **
  • Mensajes: 40
  • Nacionalidad: 00
    • Ver Perfil
Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
« Respuesta #2 en: Viernes 9 de Marzo de 2012, 07:19 »
0
Seguramente el problema esté en tu condición.

Cuando realizas un insert, ingresas un nuevo elemento en la última fila.
Con el update, debes asignar el elemento a una fila determinada WHERE ID_Codigo = "+Str(Text1(0))

Pon las comillas simples en la condición (estas evaluando un string) y prueba de nuevo 'Str(Text1(0))'

Otra cosa. Si tomas los datos directamente desde un TextBox, en determinados entornos debes especificar que tipo de contenido tienen el TextBox del cual coges la información. Si no te funciona y usas un visual studio prueba a poner algo similar a 'Text1(2).Text'
Si quieres obtener resultados diferentes no hagas siempre lo mismo.


gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
« Respuesta #3 en: Viernes 9 de Marzo de 2012, 21:57 »
0
Sólo como sugerencia si estás trabajando con .NET, podrias usar el String.Format para que no tengas que usar ese tipo de concatenación que haces, ejemplo:

sql = string.Format("UPDATE miTabla SET campo1 = '{0}' , campo2 = {1} WHERE Campo3 = {2}", obj0,obj1,obj2) ' Suponiendo que obj0 es una cadena y obj1 y obj2 son númericos.

eso haría un poco más practica la forma de programar.. bueno.. almenos eso creo. xD
 
Saludos!
@gabio87

david_lomber

  • Miembro activo
  • **
  • Mensajes: 34
  • Nacionalidad: mx
  • Impossible is nothing, just do it!!
    • Ver Perfil
    • Pelis DVDRip
Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
« Respuesta #4 en: Sábado 10 de Marzo de 2012, 03:35 »
0
Bueno pues ya tiene un buen (pero un bueeeeeeeeeen) que no uso VB de hecho ya ni me acuerdo casi nada, asi que no estoy muy seguro, porq no se si eso sirva de algo o no.

Pero creo que el problema esta aqui:

Código: [Seleccionar]
FechaAlta = " & "'" + CStr(Text1(5))
la verdad no se que hace el & si es un comando valido o no :P, pero creo que podria quedar:

Código: [Seleccionar]
FechaAlta = '" + CStr(Text1(5))
Saludos!!