Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2006
aoiTo aoiTo is offline
Miembro
 
Registrado: jul 2004
Ubicación: Cádiz - España
Posts: 21
Poder: 0
aoiTo Va por buen camino
Problemas con ADO y campo Memo

Veran estoy haciendo una pequeña aplicacion con Builder y Access. Para ello uso los componentes ADO cocnretamente y todo iba perfecto hasta que he tenido que usar un update. Cocnretamente el codio del TADOQuery es el siguiente:
Código:
DModule->QJuegos->Close();
DModule->QJuegos->SQL->Clear();
DModule->QJuegos->Parameters->Clear();
DModule->QJuegos->SQL->Clear();
DModule->QJuegos->SQL->Add("Update Juegos set Nombre=:NOMBRE, Fecha=:FECHA, Plataforma=:PLATAFORMA, Datos=:DATOS where Id=:ID;");
DModule->QJuegos->ParamCheck=false;
DModule->QJuegos->Prepared=false;
DModule->QJuegos->Parameters->ParamByName("NOMBRE")->Value=FormModJuegos->TxNombre->Text;
DModule->QJuegos->Parameters->ParamByName("FECHA")->Value=FormModJuegos->DTimeFecha->Date;
DModule->QJuegos->Parameters->ParamByName("PLATAFORMA")->Value=FormModJuegos->DBPlataforma->KeyValue;
DModule->QJuegos->Parameters->ParamByName("DATOS")->Value=FormModJuegos->MCompuesto->Text;
DModule->QJuegos->Parameters->ParamByName("ID")->Value=FormIniModJuego->id;
DModule->QJuegos->Prepared=true;
DModule->QJuegos->ExecSQL();
El problema es que cuando realiza el ExecSQL() me aparece este error:
"[Microsoft][Controlador ODBC Microsoft Access]Valor de precision no valido"
Se que el problema es por esta linea:
DModule->QJuegos->Parameters->ParamByName("DATOS")->Value=FormModJuegos->MCompuesto->Text;
Ya que si la quito todo funciona perfectamente. No se si sera por eso, pero el objeto MCompuesto es un TMemo, pero claro, en la BD el campo DATOS es una campo Memo ... no se si sera problema mio, o que el controlador ODBC tiene algun problema con los campos Memo.
¿Alguien podria ayudarme?
Responder Con Cita
  #2  
Antiguo 21-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.284
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Una pregunta, ¿Cómo tienes configurada la conexión ADO?
Lo digo porque para acceder a ficheros MDB desde ADO creo que es mejor utilizar Jet4 (directa) y no conexión ODBC. Creo que estás dando un rodeo para llegar al mismo sitio.

Podrías probar a cambiar las propiedades de la conexión, a ver si el mismo código te funciona sin utilizar ODBC.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-06-2006
aoiTo aoiTo is offline
Miembro
 
Registrado: jul 2004
Ubicación: Cádiz - España
Posts: 21
Poder: 0
aoiTo Va por buen camino
Bueno e cambiado la cadena de conexion y en vez de usar ODBC, he usado Jet4, con lo que la cadena de conexion que tengo queda asi:
Cita:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\CDs.mdb;Persist Security Info=False
El problema ahora esta en que el campo Memo no es obligatorio en la BD, pero me sale un error cuando no tiene nada escrito en el programa, cocnretamente el error es este:
"El campo juegos.Datos no puede ser un campo de longitud 0"
¿que puedo hacer?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con ADO y campo MEMO The_Avatar Conexión con bases de datos 2 02-02-2006 15:46:30
Igualar campo STRING con campo MEMO en una SQL ciscu SQL 2 19-01-2006 10:05:23
Campo memo tabla escribirlo en componente Memo Sayuri Conexión con bases de datos 2 18-08-2005 13:58:01
Campo memo pkbza Firebird e Interbase 4 14-05-2004 09:27:11
campo memo rinaib Oracle 1 25-02-2004 14:16:09


La franja horaria es GMT +2. Ahora son las 11:54:11.


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
Copyright 1996-2007 Club Delphi