Este código es la versión finalizada del archivo CRUDTest.egl. Si ve muchos errores marcados por símbolos X rojos en el archivo, asegúrese de que el código coincida con este código:
Ejemplo
package programs;
import EGLDerbyDB.data.*;
program CRUDTest type BasicProgram {}
function main()
// Visualizar los registros iniciales de la base de datos
SysLib.writeStdout("Contenido de la base de datos antes de las operaciones SQL:");
printAllCustomers();
// Añadir un registro
addCustomer();
// Actualizar el registro
updateCustomer();
// Suprimir un registro
deleteCustomer();
end
function addCustomer()
customerToAdd Customer;
customerToAdd.CustomerId = 50;
customerToAdd.FirstName = "Jane";
customerToAdd.LastName = "Doe";
// Insertar el registro en la base de datos
try
add customerToAdd;
SysLib.writeStdout("Contenido de la base de datos después de añadir un registro nuevo:");
printAllCustomers();
onException(exception SQLException)
handleDBException(exception);
end
end
function deleteCustomer()
customerToDelete Customer;
customerToDelete.CustomerId = 50;
// Suprimir el registro
try
delete customerToDelete noCursor;
SysLib.writeStdout("Contenido de la base de datos después de suprimir el registro:");
printAllCustomers();
onException(exception SQLException)
handleDBException(exception);
end
end
function updateCustomer()
customerToUpdate Customer;
customerToUpdate.CustomerId = 50;
// Recuperar la fila
get customerToUpdate;
// Cambiar valores en la variable de registro
customerToUpdate.FirstName = "John";
customerToUpdate.LastName = "Smith";
// Actualizar la fila en la base de datos
try
replace customerToUpdate noCursor;
SysLib.writeStdout("Contenido de la base de datos después de actualizar el registro:");
printAllCustomers();
onException(exception SQLException)
handleDBException(exception);
end
end
// Esta función visualiza el contenido de la tabla CUSTOMER
// de la base de datos
function printAllCustomers()
allCustomers Customer[0];
get allCustomers;
for (counter int from 1 to allcustomers.getSize())
SysLib.writeStdout(allCustomers[counter].CustomerId::" "::
allCustomers[counter].FirstName::" "::
allCustomers[counter].LastName);
end
SysLib.writeStdout("\n");
end
//Esta función responde a los errores de acceso a la base de datos
function handleDBException(exception SQLException)
SysLib.writeStdout("Error de acceso a la base de datos."::
"Consulte la sección Resolución de problemas");
SysLib.writeStdout(exception.message);
end
end
Volver a Lección 2: Operaciones básicas SQL en EGL.