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?