次のコードは、演習 5 を終了した時点での SearchLibrary.egl ファイルのバージョンです。このファイル内にエラーがある場合 (赤の X 記号でマークされます) は、作成したコードがこのコードと一致していることを確認してください。
package libraries;
import eglderbydb.data.Customer;
library SearchLibrary type BasicLibrary
function NameAndStateSearch_And(lname STRING in,
state CHAR(2) in, customer Customer[])
get customer with
#sql{
select
CUSTOMERID, FIRSTNAME, LASTNAME, PASSWORD, PHONE,
EMAILADDRESS, STREET, APARTMENT, CITY, "STATE",
POSTALCODE, DIRECTIONS
from EGL.CUSTOMER
where LASTNAME like :lname
and "STATE" = :state
order by
CUSTOMERID asc
};
end
function NameAndStateSearch_Or(lname STRING in,
state CHAR(2) in, customer Customer[])
get customer with
#sql{
select
CUSTOMERID, FIRSTNAME, LASTNAME, PASSWORD, PHONE,
EMAILADDRESS, STREET, APARTMENT, CITY, "STATE",
POSTALCODE, DIRECTIONS
from EGL.CUSTOMER
where LASTNAME like :lname
or "STATE" = :state
order by
CUSTOMERID asc
};
end
function getAllCustomerStates(listOfStates STRING[])
customers Customer[0];
counter INT;
get customers with
#sql{
select "STATE"
from EGL.CUSTOMER
order by "STATE" asc
};
listOfStates.removeAll();
for (counter from 1 to customers.getSize() by 1)
listOfStates.appendElement(customers[counter].State);
end
end
function getOneState(state Statetable)
get state;
end
end
record customizedResult type basicRecord
fullName STRING {displayName = "Full Name"};
email STRING {displayName = "Email Address"};
stateName STRING {displayName = "State"};
end
演習 5: 検索結果をカスタマイズするに戻る。