SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: ezequiel913 en Miércoles 7 de Marzo de 2012, 20:20

Título: como ejecutar la sentencia UPDATE en visual para modificar varios campos?
Publicado por: ezequiel913 en Miércoles 7 de Marzo de 2012, 20:20
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!!!
Título: Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
Publicado por: arielb en Jueves 8 de Marzo de 2012, 16:04
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,
Título: Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
Publicado por: caperutxa en Viernes 9 de Marzo de 2012, 07:19
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'
Título: Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
Publicado por: gabio2 en Viernes 9 de Marzo de 2012, 21:57
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!
Título: Re:como ejecutar la sentencia UPDATE en visual para modificar varios campos?
Publicado por: david_lomber en Sábado 10 de Marzo de 2012, 03:35
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!!