+ "INNER JOIN facultet F ON C.K_FAK = F.KOD "
+ "INNER join spec S ON C.KOD_SPEC = S.KOD_SPEC "
+ "INNER join group G ON C.K_GRUP = G.KOD and G.NAIM='" + choise + "'";
str2 = "select C.NUM_ZACH, C.FAM, C.IMJA, C.OT, C.DATA_ROJD, "
+ "C.NAL_KOD, C.K_FAK, C.KOD_SPEC, "
+ "G.NAIM, C.K_KURS from contingent C "
+ "JOIN facultet F ON C.K_FAK = F.KOD "
+ "join spec S ON C.KOD_SPEC = S.KOD_SPEC "
+ "join group G ON C.K_GRUP = G.KOD and G.NAIM='" + choise + "'";
}
ResultSet rs = DBFReader.executeQuery(conn, str2);
ResultSetMetaData rsmd = rs.getMetaData();
int colums = rsmd.getColumnCount();
String[][] arr = DBFReader.getTable(rs);
db = arr.clone();
String[] names = new String[colums];
for (int i = 0; i < colums; i++) {
names[i] = rsmd.getColumnName(i + 1);
}
TableModel model = new DefaultTableModel(arr, names);
jTable1.setModel(model);
} catch (SQLException ex) {
Logger.getLogger(DBViewer.class.getName()).log(Level.SEVERE, null, ex);
}
Для подключения к системе финансы необходима специальная библиотека, которую можно скачать с официального сайта СУБД. В строке соединения необходимо указать логин, пароль, адрес сервера, кодировку, путь к базе данных и тип сервера.
Class.forName("org.firebirdsql.jdbc.FBDriver").newInstance();
Properties conProperties = new Properties();
conProperties.put("user", "SERG");
conProperties.put("password", "278107");
conProperties.put("charSet", "Cp1251");
connection =
DriverManager.getConnection("jdbc:firebirdsql://localhost:3050/D://JavaDB//finance.gdb",
conProperties);
Для записи личного дела необходимо внести некоторые изменения в отобранные данные, такие как: получить новый код отдела, профессии, а также оставить только первую букву заглавной в фамилии, имени и отчестве.
Процедура для переформатирования ФИО:
SET TERM ^ ;
CREATE PROCEDURE DECODE_TEXT (
A Char(30) )
RETURNS (
RES Char(30) )
AS
declare variable buf char(30);
declare variable buf2 char(30);
declare variable buf3 char(30);
begin
buf = substring(A from 2);
buf3 = substring(A from 1 for 1);
buf2 = lower(buf);
RES = overlay(buf3 PLACING buf2 FROM 2);
RES = replace(RES,'i','і');
RES = replace(RES,'I','І');
suspend;
end^
SET TERM ; ^
Процедура, которая добавляет нового студента в базу или возвращает номер его зачетной книжки в случае некорректности данных:
SET TERM ^ ;
CREATE PROCEDURE NEW_STUDENT (
ID_ZACH Char(8), F_FIO1 Char(30), I_FIO1 Char(30),
O_FIO1 Char(30), D_O_B1 Date, ID_CODE1 Char(15),
ID_DIV1 Integer, ID_PROF1 Integer, NAME_GROUP1 Char(20),
COURSE1 Integer )
RETURNS (
ID Integer, NUM_ZACH Char(8) )
AS
BEGIN
IF (F_FIO1 IS NULL) then
Begin
NUM_ZACH = ID_ZACH;
End
Else
IF (I_FIO1 IS NULL) then
Begin
NUM_ZACH = ID_ZACH;
End
Else
IF (O_FIO1 IS NULL) then
Begin
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.