Fran_ Cdt

Registrado: 17 Dic 2004Mensajes: 1
|
Publicado: Mie 29 Dic, 2004 10:47 pm Asunto: Se cae la base de datos... AYUDA URGENTE!!! |
|
|
Hola a todos:
Estoy haciendo una aplicación en la que necesito guardar algunos datos en una base...
Partí totalmente de cero, así que esto me ha costado un poco, pero investigando e investigado logré que leyera y guardara en la base de datos...
Resulta que después implementé una función para que borrara datos, y no sé en realidad si tiene algo que ver con eso (ya he probado sacando esta función) pero cuando intento guardar algunos datos el programa se cae, arrojando el siguiente error:
arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets.
haaa
por si hace falta, este es el código que utilizo:
--------------------------------------------------------------------------------------
void TNueva_Asignatura::Ejecutar_Sentencia(AnsiString Sentencia)
{
GEDEMAC->QueryAsignatura->Close();
GEDEMAC->QueryAsignatura->SQL->Clear();
GEDEMAC->QueryAsignatura->ParamCheck = true;
GEDEMAC->QueryAsignatura->SQL->Text=Sentencia;
GEDEMAC->QueryAsignatura->Prepare();
GEDEMAC->QueryAsignatura->ExecSQL();
}
--------------------------------------------------------------------------------------
para grabar (los datos que estoy guardando son varios...):
--------------------------------------------------------------------------------------
b = "INSERT INTO ASIGNATURA (NOMBRE, PERIODICIDAD, TIPO_ASIGNATURA, N_CREDITOS, PROFESOR, HORAS_CATEDRA, HORAS_AYUDANTIA, HORAS_LABORATORIO, DESCRIPCION) VALUES ('"+Nombre_Asignatura->Text+"','"+String(u)+"','"+String(t)+"','"+Creditos_Asignatura->Text+"','"+Nombre_Profesor->Text+"','"+Numero_catedra->Text+"','"+Numero_ayudantia->Text+"','"+Numero_laboratorio->Text+"','"+Descripcion_asignatura->Text+"')";
Ejecutar_Sentencia(b);
--------------------------------------------------------------------------------------
y para borrar:
--------------------------------------------------------------------------------------
b = "DELETE FROM ASIGNATURA WHERE NOMBRE = '"+borrado->Text+"'";
Ejecutar_Sentencia(b);
--------------------------------------------------------------------------------------
ESPERO QUE ALGUIEN PUEDA ORIENTARME....
ahhh
por si acaso, estoy usando InterBase |
|