Ghost mail писал(а) 04.06.2007 :: 09:06:51:Мне кажется, что идеологически это ошибка не EXE-шника, а базы данных. Есть две связанные реляционные таблицы (книги - авторы) и в таблице книг есть записи с кодом автора "0", несуществующего в таблице авторов
Если код автора = 0 - пропустить поиск по таблице авторов (принять его равным 1 - "автор неизвестен" - некорректно). Это условие первоначально стояло только на вытягивании "соавтора", потом сделал и для основного автора.
Почему это условие вылетело в разосланном экзешнике - незнаю. Скорее всего, правил дома, а экзешник сделал на службе, не обновив исходники.
Так что это програмная ошибка, а не базы.
Ghost mail писал(а) 04.06.2007 :: 09:06:51:Можно предположить, что это не просто номера записей, а коды : "CT:REC_ID" - уникальный код книги, "CT:A1","CT:A2" - коды авторов, которые ссылаются на уникальный код "AU:NUMBER" из таблицы авторов.
Совершенно верно, только уникальный код записи одновременно являеется ее номером. Так удобнее вытягивать нужную запись, не перебирая всю базу (прямой доступ) и контролировать ее целостность (если код последней записи отличается от общего количества строк, значит база порушена и нужно принимать экстренные меры), и, кстати, искать место "сбоя".