Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 02-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Veo algunas cosas que no parecen estar bien:
Código Delphi [-]
   try
      frm_DataModule.trans_Commit.StartTransaction;
      frm_DataModule.qry_Alum_Calificacion.Close;
      frm_DataModule.qry_Alum_Calificacion.SQL.Clear;
      frm_DataModule.qry_Alum_Calificacion.SQL.Add('UPDATE CALIFICACION set CALIFICACION.M01 ='+QuotedStr(Edit2.Text)+', CALIFICACION.ID_MATERIA1 = '+'No Esta Cursando'+'');
      frm_DataModule.qry_Alum_Calificacion.SQL.Add('WHERE CALIFICACION.MATRICULA ='+QuotedStr(Label2.Caption)+'');
{qué es esta linea?}
      frm_DataModule.qry_Alum_Calificacion.SQL.Text;
      frm_DataModule.qry_Alum_Calificacion.ExecSQL;
      frm_DataModule.trans_Commit.Commit;
   Except
{Aqui pon algo para saber si hizo el rollback}
      hay_error := True; {por ejemplo}
      frm_DataModule.trans_Commit.Rollback;
   end;

- La linea "frm_DataModule.qry_Alum_Calificacion.SQL.Text;" creo que no sirve para nada. Quizás asi sola de un error y entre directamente al Except y haga el Rollback.
- Pones un par de cadenas vacías al final de cada Add(....+''). Esto no sirve para nada.
- Qué tipo de campo son M01, ID_MATERIA1 y MATRICULA ?

- El SQL qudaría algo asi:
Código SQL [-]
UPDATE CALIFICACION 
set CALIFICACION.M01 ='EEE', CALIFICACION.ID_MATERIA1 = No Esta Cursando
WHERE CALIFICACION.MATRICULA ='LLL'

Como podrás ver "CALIFICACION.ID_MATERIA1 = No Esta Cursando" no creo que sea correcto.
O bien, si MATERIA1 es un string debería estar entre comillas
O debes poner algo correcto si no es un string (numero, boolean, etc.)

Nota: No es necesario que llames cada campo con el nombre de la tabla, si no utilizas muchas tablas en la consulta.

Yo creo que debería quedar asi:
Código Delphi [-]
   try
      frm_DataModule.trans_Commit.StartTransaction;
      frm_DataModule.qry_Alum_Calificacion.Close;
      frm_DataModule.qry_Alum_Calificacion.SQL.Clear;
      frm_DataModule.qry_Alum_Calificacion.SQL.Add('UPDATE CALIFICACION set M01 ='+QuotedStr(Edit2.Text)+', ID_MATERIA1 = '+QuotedStr('No Esta Cursando'));
      frm_DataModule.qry_Alum_Calificacion.SQL.Add('WHERE MATRICULA ='+QuotedStr(Label2.Caption));
      frm_DataModule.qry_Alum_Calificacion.ExecSQL;
      frm_DataModule.trans_Commit.Commit;
   Except
      frm_DataModule.trans_Commit.Rollback;
      MessageDlg('Ha ocurrido un error al modificar los datos.', mtError,[mbOk], 0);
   end;

Última edición por duilioisola fecha: 02-10-2007 a las 21:59:20.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con la velocidad de actualizacion de datos en mi programa Peterman Varios 1 14-06-2007 23:41:20
Problema de actualizacion Luis Castillo Firebird e Interbase 4 05-01-2006 20:28:18
Problema de actualizacion de base de datos dmagui Varios 1 20-12-2005 20:44:13
Problema con la actualizacion de un base Interbase Sebas77 Firebird e Interbase 1 27-06-2005 15:29:30
problema de actualización ibuser Firebird e Interbase 1 08-03-2005 00:47:28


La franja horaria es GMT +2. Ahora son las 09:01:52.


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