[RESUELTO] Error al ejecutar formulario
#1
Escrito 23 julio 2010 - 10:56
Estoy trabajando con delphi 7 y Access 2003 con conexion ADO. Anteriormente estaba trabajando con conexion ODBC y la cambie a ADO, pero resulta que ahor al tratar de abrir el formulario de Facturación me está dando el siguiente error:
Project Sistema.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process stopped. Use Step or Run to continue.
En este formulario tengo 2 ClientDataSet y varios AdoQuery.
Cuando tenia la conexion ODBC no me estaba dando este problema pero ahora que la cambie a Ado si, alguna solución con respecto a esto?
Gracias de antemano.
Saludos
Judit
#2
Escrito 23 julio 2010 - 11:04
Utiliza el depurador de Delphi, y ejecuta la carga del formulario, línea a línea, para detectar la sentencia que ocasiona el fallo.
Una vez detectada la sentencia, en función de lo que intente hacer y sabiendo el fallo que da, se corrige.
#3
Escrito 23 julio 2010 - 11:21
El error consiste en que un valor de un campo esta llegando Nulo desde la BD (osea se esta guardando Nulo en la BD que es distinto de vacío) y en Delphi estas tratando de realizar algún tipo de conversión, ya sea:
1.- StrToXXX.
2.- TablaCampo.AsString.
3.- Tabla.Fields[0].AsString.
4.- Tabla.FieldByName('campo').AsString.
Revisa y postea
#4
Escrito 23 julio 2010 - 02:20
Saludos.
El error consiste en que un valor de un campo esta llegando Nulo desde la BD (osea se esta guardando Nulo en la BD que es distinto de vacío) y en Delphi estas tratando de realizar algún tipo de conversión, ya sea:
1.- StrToXXX.
2.- TablaCampo.AsString.
3.- Tabla.Fields[0].AsString.
4.- Tabla.FieldByName('campo').AsString.
Revisa y postea
Pues esto mismo digo yo
#5
Escrito 23 julio 2010 - 06:53
Les cuento que resolvi el problema que me estaba dando, parece que al momento de asignar unas tablas a los data set era lo que me causaba el problema. Elimine esas lineas de codigo donde le asignaba las tablas a los dataset y problema resuelto, no me siguio dando el problema.
También cambie el provider de la conexion de Ado de MSDASQL.1 a Microsoft.Jet.OLEDB.4.0, pero al hacer esto me dió error en la conexión por tanto cambié el string a esto:
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=password;Data Source=C:\Sistema\Datos\SistemaPC.mdb;Persist Security Info=False
Lo que está en negrita fue el cambio de como estaba originalmente.
Gracias a todos por la ayuda
#6
Escrito 23 julio 2010 - 06:59
Pero no entiendo:
Resolviste el problema inicial y ahora tienes otro o solo lo comentas?.
Saludos
#7
Escrito 23 julio 2010 - 07:01
Hola
Pero no entiendo:
Resolviste el problema inicial y ahora tienes otro o solo lo comentas?.
Saludos
Resolvi el problema incial, y no tengo error ahora mismo, publiqué eso por que cambiando el provider me dió unos errores que no quería conectarse, pero los pude resolver y los publiqué por si alguien en el futuro le pasa algo parecido tal vez le pueda servir eso.
#8
Escrito 23 julio 2010 - 07:04
Ahh, eso crei.
Me alegro mucho que lo resolvieras.
Cualquier duda solo pregunta, aqui estamos para tratar de ayudar.
Saludos
PD: Me alegro verte otra vez por aqui, tenias dias sin entrar al foro, te estoy espiando.
#9
Escrito 23 julio 2010 - 09:52
Hola
Ahh, eso crei.
Me alegro mucho que lo resolvieras.
Cualquier duda solo pregunta, aqui estamos para tratar de ayudar.
Saludos
PD: Me alegro verte otra vez por aqui, tenias dias sin entrar al foro, te estoy espiando.
Si tenia unos cuanto dias que no entraba, estaba un poco ocupada, pero si Dios quiere me veran mas seguido pro aqui. jeje