Форум: "Базы";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
ВнизFireBird BLOB Найти похожие ветки
← →
Zabludshiy (2007-07-16 16:58) [0]Доброго времени суток. Помогите плс. Не получается изменить блоб. На форме IBDatabase, к нему подключен IBDataset и IBSQL. В таблице (firebird) есть поле типа BLOB. При попытке изменить его (там только текст должен быть) делаю следующим образом:
...
IBDS1.Edit;
IBDS1MEMO.Value:=str;
IBDS1.Post;
...
Пишет "Cannot modify a read-only dataset".
Само поле - не read only, в IBDataset не нашел даже такого свойства. Другие поля (не блобы) изменяю легко через IBSQL,
Может туплю, подскажите как бороться или ссылку на внятную статью/книгу про работу с блобами IB/FB в delphi.
Delphi 6, FireBird
← →
Desdechado © (2007-07-16 17:01) [1]UPDATE tbl SET blb = :prm WHERE id = :x
и читать справку Modifying read-only datasets
← →
Zabludshiy (2007-07-16 18:39) [2]Через update, как я понимаю, не получится передать строку больше 32к, в принципе я так и делаю, но не уверен, что со временем этого не будет мало...
← →
engine © (2007-07-16 18:43) [3]> [2] Zabludshiy (16.07.07 18:39)
не правильно ты всё понимаешь.
← →
Zabludshiy (2007-07-16 18:58) [4]Дык почему тогда когда выполняется такой код
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add("update ORGANIZATIONS set ");
IBSQL1.SQL.Add("MEMO = """+str+""" ");
IBSQL1.SQL.Add("where ORG_ID = "+IBDS1.fieldbyname("ORG_ID").AsString );
IBSQL1.ExecQuery;
IBDS1.Close;
IBDS1.Open;
и размер строки str около 100К вываливается ошибка, а если размер около 10К - всё нормально записывается?
← →
engine © (2007-07-16 19:06) [5]> [4] Zabludshiy (16.07.07 18:58)
А при чем здесь блоб?
← →
Zabludshiy (2007-07-16 19:07) [6]MEMO - это и есть блоб.
← →
engine © (2007-07-16 19:12) [7]> [6] Zabludshiy (16.07.07 19:07)
То, что тебе написали в [1] и то, что ты написал в [4] совершенно разные вещи.
Используй параметры.
← →
Zabludshiy (2007-07-16 19:16) [8]Пробовал несколькими способами записывать этот блоб, так как написано
в Zabludshiy (16.07.07 16:58);
потом через IBDS1MEMO.loadfromstream;
получилось только так как Zabludshiy (16.07.07 18:58) [4],
но я так понимаю что это не совсем правильно.
Я хочу понять, почему не работает [1]
← →
engine © (2007-07-16 19:18) [9]> [8] Zabludshiy (16.07.07 19:16)
> Я хочу понять, почему не работает [1]
Ну у меня нет оснований полагать, что [1] не работает.
В моих проектах отлично работает.
← →
Zabludshiy (2007-07-16 19:22) [10]Вот и я подозреваю, что где-то что-то в свойствах нето... Спасибо, будем разбираться.
← →
Zabludshiy (2007-07-16 19:25) [11]Заработало. Спасибо всем за помощъ!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.053 c