Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas para Conectar (https://www.clubdelphi.com/foros/showthread.php?t=34591)

Alejandro73 14-08-2006 23:32:13

Problemas para Conectar
 
Hola Amigos del Club

Les cuento, tengo una base de datos que se llama Ventas (SQL SERVER 200), esta contiene n tablas.

Utilizando delphi 7, creo un formulario y pongo los siguientes objetos:

ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;

El ADOConnection1, apunta a la base de datos agregada en el ODBC
El ADOTable1 en la propiedad Connection:=ADOConnection1, y me permite escoger una tabla de la base de datos.
En ADOTable1.Active:=True;

y se muestran los registros de la TABLA, pero cuando ejecuto el programa aparece el siguiente error:

"Project Proyect1.exe raised exception class EVariantTypeCastError with message 'Coult not convert variant of type (Null) into type (String)'. Process Stopped. Use Step or Run to continue"

Al continuar con la ejecucion del programa puedo ver los registros en un DBGrid, pero aun no logro entender el porque? del mensaje anterior

Si alguien me puede ayudar se lo agradecere.

Alejandro
Valparaiso - CHILE

roman 14-08-2006 23:42:05

No sé exactamente qué produce ese error, o mejor dicho, en qué momento, pero intente poniendo

Código Delphi [-]
NullStrictConvert := false;

al mero comienzo de tu aplicación (antes de abrir la tabla). Esta variable, de la unidad Variants, define qué hacer cuando se intenta asignar un valor NULL a una variable. El comportamiento por defecto es lanzar una excepción (la que ya viste). Al poner la variable en false, el NULL se convierte en una cadena vacía en caso de un string.

// Saludos

Alejandro73 15-08-2006 00:04:37

Ahora Si, pero .....
 
Roman

Antes de poner en Active la Tabla, coloco la instruccion que me indicaste y ahora no aparece el mensaje de error anterior, pero aparece este otro


Project Project1.exe raised exception class EdatabaseError with message 'ciudades: Index not found Process stoped. Use Step or Run to continue'

Creo que esta reclamando por el indice de la tabla, pero en a propiedad IndexFieldNames de la Tabla no desplega ningun indice para poder asociar.

Te recuerdo que las tablas son SLQ SERVER 2000.

Que me puede estar faltando para incluir el indice.

Gracias

Alejandro
Valparaiso - CHILE

Alejandro73 17-08-2006 00:31:54

Problema Resuelto!
 
Hola amigos del club,

Estaba bastante aproblemado con esta situación:confused: , no lograba entender donde se estaba produciendo el error, pero al ejecutar el programa desde afuera (no desde el delphi) bingo el ERROR no se mostraba y podia establecer la conexion con la tabla SQL SERVER a traves de ADO.

NOTA: Aun no se porque se produce tal error, pero al ejecutarlo este desaparece Plop:D !

Alejandro
Valparaiso - CHILE:)

juanfergl 19-08-2006 00:01:27

Cuidado
 
De todos modos la excepción se está generando........debes controlarla para que se destruya en la memoria.

Te recomiendo hacer el evento de Active despues de que el formulario este mostrado.


La franja horaria es GMT +2. Ahora son las 23:39:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi