Mensaje    Asunto: Se cae la base de datos... AYUDA URGENTE!!! Responder citando

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.... Confused

ahhh
por si acaso, estoy usando InterBase