FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con Update
Hola a todos,
Tengo este codigo que funciona correctamente en IBExpert y Firebird Maestro. Pero el problema es cuando compilo y lo ejecuto en Delphi 2007, que no hace nada.
Ayuda por favor. Última edición por Casimiro Notevi fecha: 27-02-2014 a las 09:23:16. |
#2
|
||||
|
||||
El problema puede estar en el alias de la tabla "a." que no corresponde a la tabla "notas."
Un saludo. P.D.: No se como te puedes a clarar con esta SQL.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. Última edición por olbeup fecha: 27-02-2014 a las 08:38:08. |
#3
|
||||
|
||||
Recuerda poner los tags al código fuente, ejemplo:
Gracias |
#4
|
||||
|
||||
y te sale algun mensaje?
me imagino que has depurado el codigo lo que yo suelo hacer es "armar" una cadena strsql := 'Select....' + ... y asi sucesivamente lo cual me permite ver si la cadena resultante es valida comprobandola en la consola de la base de datos quiza alguna instruccion no es valida o como bien pregunta olbeup que cosa es a. ??
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
|||
|
|||
Ok,
Muchas gracias por ayudarme, el codigo lo mejore y funciona de maravilla. procedure TFormCarga.btn3Click(Sender: TObject); begin DMCarga.ibqry12.Close; DMCarga.ibqry12.Sql.Clear; DMCarga.ibqry12.Sql.Add('UPDATE notas nt'); DMCarga.ibqry12.Sql.Add('SET nt.ASIGNATURA_UNO=(SELECT sl01a.MATERIA_UNO FROM salones sl01a WHERE nt.AULA=sl01a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_UNO=(SELECT sl01b.IHS_UNO FROM salones sl01b WHERE nt.AULA=sl01b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_UNO=(SELECT sl01c.DOCENTE_UNO FROM salones sl01c WHERE nt.AULA=sl01c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_DOS=(SELECT sl02a.MATERIA_DOS FROM salones sl02a WHERE nt.AULA=sl02a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_DOS=(SELECT sl02b.IHS_DOS FROM salones sl02b WHERE nt.AULA=sl02b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_DOS=(SELECT sl02c.DOCENTE_DOS FROM salones sl02c WHERE nt.AULA=sl02c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_TRES=(SELECT sl03a.MATERIA_TRES FROM salones sl03a WHERE nt.AULA=sl03a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_TRES=(SELECT sl03b.IHS_TRES FROM salones sl03b WHERE nt.AULA=sl03b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_TRES=(SELECT sl03c.DOCENTE_TRES FROM salones sl03c WHERE nt.AULA=sl03c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_CUATRO=(SELECT sl04a.MATERIA_CUATRO FROM salones sl04a WHERE nt.AULA=sl04a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_CUATRO=(SELECT sl04b.IHS_CUATRO FROM salones sl04b WHERE nt.AULA=sl04b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_CUATRO=(SELECT sl04c.DOCENTE_CUATRO FROM salones sl04c WHERE nt.AULA=sl04c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_CINCO=(SELECT sl05a.MATERIA_CINCO FROM salones sl05a WHERE nt.AULA=sl05a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_CINCO=(SELECT sl05b.IHS_CINCO FROM salones sl05b WHERE nt.AULA=sl05b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_CINCO=(SELECT sl05c.DOCENTE_CINCO FROM salones sl05c WHERE nt.AULA=sl05c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_SEIS=(SELECT sl06a.MATERIA_SEIS FROM salones sl06a WHERE nt.AULA=sl06a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_SEIS=(SELECT sl06b.IHS_SEIS FROM salones sl06b WHERE nt.AULA=sl06b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_SEIS=(SELECT sl06c.DOCENTE_SEIS FROM salones sl06c WHERE nt.AULA=sl06c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_SIETE=(SELECT sl07a.MATERIA_SIETE FROM salones sl07a WHERE nt.AULA=sl07a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_SIETE=(SELECT sl07b.IHS_SIETE FROM salones sl07b WHERE nt.AULA=sl07b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_SIETE=(SELECT sl07c.DOCENTE_SIETE FROM salones sl07c WHERE nt.AULA=sl07c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_OCHO=(SELECT sl08a.MATERIA_OCHO FROM salones sl08a WHERE nt.AULA=sl08a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_OCHO=(SELECT sl08b.IHS_OCHO FROM salones sl08b WHERE nt.AULA=sl08b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_OCHO=(SELECT sl08c.DOCENTE_OCHO FROM salones sl08c WHERE nt.AULA=sl08c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_NUEVE=(SELECT sl09a.MATERIA_NUEVE FROM salones sl09a WHERE nt.AULA=sl09a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_NUEVE=(SELECT sl09b.IHS_NUEVE FROM salones sl09b WHERE nt.AULA=sl09b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_NUEVE=(SELECT sl09c.DOCENTE_NUEVE FROM salones sl09c WHERE nt.AULA=sl09c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_DIEZ=(SELECT sl10a.MATERIA_DIEZ FROM salones sl10a WHERE nt.AULA=sl10a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_DIEZ=(SELECT sl10b.IHS_DIEZ FROM salones sl10b WHERE nt.AULA=sl10b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_DIEZ=(SELECT sl10c.DOCENTE_DIEZ FROM salones sl10c WHERE nt.AULA=sl10c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_ONCE=(SELECT sl11a.MATERIA_ONCE FROM salones sl11a WHERE nt.AULA=sl11a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_ONCE=(SELECT sl11b.IHS_ONCE FROM salones sl11b WHERE nt.AULA=sl11b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_ONCE=(SELECT sl11c.DOCENTE_ONCE FROM salones sl11c WHERE nt.AULA=sl11c.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.ASIGNATURA_DOCE=(SELECT sl12a.MATERIA_DOCE FROM salones sl12a WHERE nt.AULA=sl12a.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.INTENSIDAD_DOCE=(SELECT sl12b.IHS_DOCE FROM salones sl12b WHERE nt.AULA=sl12b.ID_SALON),'); DMCarga.ibqry12.Sql.Add('nt.PROFESOR_DOCE=(SELECT sl12c.DOCENTE_DOCE FROM salones sl12c WHERE nt.AULA=sl12c.ID_SALON)'); DMCarga.ibqry12.ExecSQL; DMCarga.ibtrnsctn_Calificacion.CommitRetaining; ShowMessage('Operacion realizada con exito...'); end; |
#6
|
||||
|
||||
¿Qué parte de mi mensaje no has entendido?
|
#7
|
|||
|
|||
Amigo NISOTO, si me permite le sugiero intente realizar este proceso de actualización con un procedimiento almacenado.
A mi humilde opinión es más optimo que el que propone usted. Adjunto script sql, no le he provado debido a lo cual es posible que pueda tener algun error. No dude en consultar. Ademas usted debe completar los campos que faltan y definir los tipos correspondientes a las variables declaradas.
Para ejecutar el procedimiento almacenado debería utilizar un Ejemplos hay varios en el foro Saludos cordiales Última edición por cloayza fecha: 28-02-2014 a las 18:40:35. |
#8
|
|||
|
|||
Ok, gracias
ya probe el procedimiento almacenado, y funciona muy bien. Te agradezco, es verdad que este script funciona mas. Gracias clubdelphi, es mejor que tener un profesor en casa.... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con el UPDATE | XcamX | Conexión con bases de datos | 12 | 21-12-2010 00:32:48 |
Problema con update | agustin173 | Varios | 3 | 26-10-2010 00:22:11 |
Problema con sql Update | juanpe | Firebird e Interbase | 3 | 04-09-2008 12:31:00 |
Problema con update | omarifr | SQL | 3 | 06-08-2007 23:28:38 |
Problema con update | pache | Firebird e Interbase | 4 | 22-11-2006 21:08:06 |
|