Visual Basic - TREMENDO BUG DE VB6 !

Life is soft - evento anual de software empresarial
 
Vista:

TREMENDO BUG DE VB6 !

Publicado por Houdiny (2 intervenciones) el 29/11/2006 17:59:07
Hola a tod@s

He desarrollado un programa con Visual Basic 6 para gestionar una base de datos en MySQL, el tema es que surge el siguiente problema:

Inserto un registro completando todos los campos

Nombre: "Salvador" ----> 8 caracteres
Apellido: "Borges" ----> 6 caracteres
Color: "Amarillo" ----> 8 caracteres

Hasta aquí todo funciona bien, pero a la hora de insertar los siguientes registros ocurre lo siguiente:

Ejemplo de inserción de segundo registro 1:

Nombre: "David" ----> 5 caracteres
Apellido: "Gonzalez" ----> 8 caracteres
Color: "Rojo" ----> 4 caracteres

Al insertarlo aparece este error:
Error '-2147217887 (80040e21)' en tiempo de ejecución: La operación en varios pasos generó errores. Compruebe los valores de estado.

Ejemplo de inserción de segundo registro 2:

Nombre: "David" ----> 5 caracteres
Apellido: "Tull" ----> 4 caracteres
Color: "Azul" ----> 4 caracteres

Al insertarlo no aparece ningún error.

La conclusión a la que he llegado tras varias pruebas es la siguiente, cuando inserto el primer registro el máximo de caracteres de los campos de esa tabla se ajusta a la cantidad de caracteres que haya introducido en ese primer registro. En consecuencia al tratar de insertar un registro donde uno de los campos supera el número de caracteres insertados en su homólogo del primer registro surge el error.

Llevo unos meses con este conflicto, y aunque he visto que le ocurre a más gente no hay posteados mas que vagos comentarios sin aporte de soluciones, necesito una solución y la agradecería mucho.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TREMENDO ERROR

Publicado por panchito (8 intervenciones) el 29/11/2006 22:59:19
POS SI PARESE SER K LE ECHAIS LAS CULPAS AL VB DE LO K NO SABES HASER. SI UN CAMPO DE LA TABLA TIENE UNA LONGITUS DE 5 NO LE PODEIS METER 8.
ES COMO METER 2 LITROS DE VINO EN UNA BOTELLA K SOLO ADMITE 1 LITRO PERO SI ADMITE 85 MILILITROS.
SI LO ENTENDEIS YA TENEIS LA SOLUSION A VUESTRO PROBLEMA.
K DIOS OS ALLUDE Y PA LA PROSIMA VES NO ECHEIS LA CULPA A LOS DEMAS SOLAMENTE PENSAIS UN POKO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TREMENDO ERROR

Publicado por Juas! (2 intervenciones) el 30/11/2006 09:56:57
Panchito, ¿Sabes leer? y en caso positivo (Que ya me extraña debido a las reiteradas faltas de ortografía de tu absurda respuesta) ¿Has leido el mi post o solo lo has ojeado mientras te bebías 185 mililitros de vodka?

1º No me contestes con mayúsculas, es decir... ¡ NO ME GRITES !

2º El field está limitado a 100 carácteres, es decir, ni por asomo se ha llegado al límite establecido.

3º Lee bien los post antes de contestar cualquier memez.

4º Ten más respeto a los demás si quieres que te lo tengan a ti.

Esto es todo "panchito".

Ahora Hablando al foro: Agradecería mucho que alguien diera una solución a este problema, si al leer el post no os queda claro comentad en lo que dudais e intentaré explicarlo mejor ;)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TREMENDO ERROR

Publicado por Pufff (1 intervención) el 30/11/2006 23:07:20
Houdini, Juas ¿sabeis escribir, o mejor explicaros? y en caso positivo (que ya me extraña debido a tu absurda pregunta) ¿te tomaste dos birras antes de hacerla?

1º Cada uno escribe como le sale de las pelotas (estaria bueno que nos vinieras tu a poner condiciones)

2º Lo de que el field esta limitado a nosecuantos caracteres lo acabas de poner

3º Antes de hacer preguntas que no sabes lo que estas diciendo te lees el manual de visual basic.

4º El respeto se tiene a las personas que se hacen respetar.

Eso es todo "Judas".

Y ahora al foro: Si llevas varios meses con el mismo problema y todavia no has conseguido soluccionarlo, permitame que te diga (sin ofender) que eres bastante retrasado mental.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TREMENDO ERROR

Publicado por INSULTANTE (2 intervenciones) el 02/12/2006 01:11:55
¿No hay moderadores que contralen este tipo de salidas de tono?

Me resulta ofensivo y degradante tener que aguantar estos comentarios insultantes hacia mi persona y a la de los demás que tienen el mismo problema o similares. ¿Aquí se ayuda o se fustiga a las personas?

Una reprimenda a gente como la que postea esa clase de barbaridades no iría mal.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TREMENDO BUG DE VB6 !

Publicado por Yo (38 intervenciones) el 30/11/2006 22:20:33
Para MySQL se aconseja no utilizar .AddNew ni .Update, sino executar sentencias SQL en el evento .Execute de tu variable con la que hiciste la conexión, aunque es un poco más de trabajo.

Suponiendo que tu tabla se llame "clientes" y tengas en las siguientes variables el contenido para los campos:

stNombre = "David"
stApellido = "Gonzalez"
stColor = "Rojo"
cnn.Execute "Insert into clientes (Nombre,Appellido,Color) values ( '" + stNombre + "'"," + stApellido + "','" + stColor + "')"

Algo así, por el estilo.
(Tener cuidado con las comillas simples y dobles).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TREMENDO BUG DE VB6 !

Publicado por Houdiny (2 intervenciones) el 02/12/2006 01:06:58
Gracias mil "Yo", ha sido de gran ayuda tu post, constructivo y eficaz. Sólo me queda mirar de reojo y un tanto malhumorado al equipo de programación que desarrollaron los asistentes de VB6, es un error generico y común el que he planteado en este post y puedo asegurar que le ocurre a más gente que se deja llevar por la "eficacia" de los asistentes.

Aunque debo decir que he solucionado la papeleta de una manera poco ortodoxa pero efectiva, así: He cambiado todos los campos char() por campos set(), de esta manera no da el dichoso error.

Gracias de nuevo,
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar