|
|
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
Попробовал использовать BLOB поле для хранения и IMAGE на форме для отображения картинки Добавил две кнопки "Добавить" "Стереть" Код кнопки "Добавить" myfoto=GETPICT() IF !EMPTY(myfoto) AND FILE((myfoto)) replace user.foto WITH FILETOSTR(myfoto) = TABLEUPDATE(.T.) thisform.image1.PictureVal= user.foto thisform.Refresh() ENDIF Код кнопки "Стереть" replace user.foto WITH "" = TABLEUPDATE(.T.) thisform.image1.PictureVal="" Thisform.Refresh() Код кнопки "Добавить" нормально отрабатывает, т.е загружает картинку и показывает, а код кнопки "Стереть" вроде бы отрабатывает, но форму закрываю, открываю снова и картинка как будто и не стиралась, что может быть и как правильно очистить BLOB поле от содержимого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 23:00 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
При использовании функций вроде TableUpdate() следует очень тщательно следить за текущей рабочей областью. Необходимо либо перед их использованием явно переключаться в нужную рабочую область Код: plaintext 1. 2. 3. 4. 5. Либо указывать в самой функции в какой рабочей области ее необходимо применить Код: plaintext 1. 2. 3. 4. Дело в том, что по умолчанию, подобные функции работают в текущей рабочей области. Но, в общем случае, "текущая" не означает "нужная". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 00:27 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
замечания по существу, но проблема не решилась, картинка не удаляется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 01:10 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
Пробовал так SELECT user APPEND MEMO user.foto FROM tempfile.txt OVERWRITE * replace user.foto WITH "" = TABLEUPDATE(.T.) thisform.image1.PictureVal="" Thisform.Refresh() Думая что BLOB поле это аналог MEMO и нужна команда APPEND MEMO user.foto FROM tempfile.txt OVERWRITE где tempfile.txt файл 0 длины включенный в проект код отрабатывает, но картинка из BLOB не удаляется Кто знает что надо сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 01:21 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
Спасибо, заработало так SELECT user replace user.foto WITH '' = TABLEUPDATE(.T.) thisform.image1.PictureVal="" Thisform.Refresh() Проблема была в том что записал replace user.foto WITH "" - двойные кавычки не удаляли replace user.foto WITH '' - одинарные, все стерлось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 01:28 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
Ну вот и так и так правильно и работает, replace user.foto WITH "" replace user.foto WITH '' Проблема оказалась в другом, с показом картинки показывалась одна запись а картинка отображалась от предыдущей или не обновлялась текущая гдето я с refresh формы чтото перепутал, А с картинкой в BLOB поле оказалось легко работать... ;-)][ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 01:51 |
|
||
|
Как очистить blob поле от содержимого
|
|||
|---|---|---|---|
|
#18+
Все заработало, привожу код Свойство объекта Image.Stretch = 2 – Stretch В Init формы добавляем код IF !EMPTY(user.foto) Thisform.Image1.PictureVal = user.foto Thisform.Image1.Visible = .T. ELSE Thisform.Image1.PictureVal = "" Thisform.Image1.Visible= .F. ENDIF Кнопка “добавить” изображение myfoto=GETPICT() IF !EMPTY(myfoto) AND FILE((myfoto)) SELECT user replace user.foto WITH FILETOSTR(myfoto) = TABLEUPDATE(.T.) thisform.image1.PictureVal= user.foto thisform.image1.visible= .T. thisform.Refresh() ENDIF Кнопка “стереть” изображение SELECT user replace user.foto WITH '' = TABLEUPDATE(.T.) Thisform.Image1.PictureVal = "" Thisform.Image1.Visible= .F. Thisform.Refresh() Код метода Click кнопок движения по базе (cmdPrev,cmdNext,cmdTop,cmdEnd) добавить код DODEFAULT() IF !EMPTY(user.foto) Thisform.Image1.PictureVal = user.foto Thisform.Image1.Visible = .T. ELSE Thisform.Image1.PictureVal = "" Thisform.Image1.Visible= .F. ENDIF Thisform.Refresh() Ну и не забывать делать PACK MEMO если часто будете добавлять, удалять картинки в поле, чтобы мемо файл не сильно распухал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 02:58 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34482075&tid=1589476]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 353ms |

| 0 / 0 |
