Доброго времени.
Подскажите начинающему програмировать в Linux
Сабж:
Попытка подключения к базе выдает следующее: (во вложении)
права менял.
Модератор: Модераторы
- это понятно , но не понятно почему.vay1 писал(а):permission denied - значит что нет доступа
- 100% нет. не открыт.vay1 писал(а):Значит либо открыт файл бд еще кем то в монопольном режиме
- менял права для пользователя/группы на "firebird" - не помогло/vay1 писал(а):либо у тебя просто нет прав на тот файлкаталог
- робин тоже не открывает.vay1 писал(а):я обычно проверяю сначала доступность и работоспособность бд с помощью программы flamerobin
*** IBPP::SQLException ***
Context: Database::Connect
Message: isc_attach_database failed
SQL Message : -902
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements
Engine Code : 335544344
Engine Message :
I/O error for file "/home/nik/Code/samples/firebird/warranty.fdb"
Error while trying to open file
Permission denied
...
SQLQueryWork.SQL.Add('UPDATE TECHNS');
...
SQLQueryWork.SQL.Add('DATE_CLOSE = :DATE_CLOSE');
...
SQLQueryWork.Params.ParamByName('DATE_CLOSE').IsNull
...
Ustas писал(а):Всем привет!
Не стал создавать новую тему - это подходит.
Итак: Windows 7, Laserus 1.6, Firebird 2.5.4.
В последнее время, в рабочей программе заметил глюк: в Firebird поле типа DATE игнорирует значение null. Другие значение нормально сохраняются.
- Код: Выделить всё
...
SQLQueryWork.SQL.Add('UPDATE TECHNS');
...
SQLQueryWork.SQL.Add('DATE_CLOSE = :DATE_CLOSE');
...
SQLQueryWork.Params.ParamByName('DATE_CLOSE').IsNull
...
Что могло произойти?
SQLQueryWork.Params.ParamByName('DATE_CLOSE').IsNull
SQLQueryWork.Params.ParamByName('DATE_CLOSE').Clear
*Rik* писал(а):Зачем там эта строка?SQLQueryWork.Params.ParamByName('DATE_CLOSE').IsNull
Это свойство которое проверяет пустой ли параметр, если в параметре Null оно возвращает True.
Если Вам нужно очистить значение, используйте
- Код: Выделить всё
SQLQueryWork.Params.ParamByName('DATE_CLOSE').Clear
SQLQueryWork.Params.ParamByName('DATE_CLOSE').IsNull
SQLQueryWork.Params.ParamByName('DATE_CLOSE').Clear
в Firebird поле типа DATE игнорирует значение null.
slyubez писал(а):в Firebird поле типа DATE игнорирует значение null.
С типом Date и методами AsDate у меня постоянно проблемы, поэтому я уже давно из-за этого стараюсь вместо Date использовать Timestamp.
update techns set date_close = null where id = 1
Ustas писал(а):slyubez писал(а):в Firebird поле типа DATE игнорирует значение null.
С типом Date и методами AsDate у меня постоянно проблемы, поэтому я уже давно из-за этого стараюсь вместо Date использовать Timestamp.
В IBExpert нормально все пишется
- Код: Выделить всё
update techns set date_close = null where id = 1
Косяк где то в компонентах Lazarus.
Тогда вопрос: используя тип Timestamp, кокой метод используется в Lazarus?
P.S. Поставил Firebird-2.5.5 - все заработало, и .IsNull и .Clear.
WHERE DATA = :MYDATE
WHERE DATA >= :DATEBEGIN AND DATA <= :DATEEND
*Rik* писал(а):В смысле какой метод? Все тоже самое как с Date
SQLQueryWork.Params.ParamByName('DATE_CLOSE').AsDate
SQLQueryWork.Params.ParamByName('DATE_CLOSE').AsDateTime
Ustas писал(а):*Rik* писал(а):В смысле какой метод? Все тоже самое как с Date
Я имел ввиду:или
- Код: Выделить всё
SQLQueryWork.Params.ParamByName('DATE_CLOSE').AsDate
- Код: Выделить всё
SQLQueryWork.Params.ParamByName('DATE_CLOSE').AsDateTime
Сейчас этот форум просматривают: slyubez и гости: 41