CLEAR LOCAL lcFile, lnHandle, lcCursor lcFile = GETFILE('jpg') && just get a JPG file IF EMPTY(lcFile) OR NOT FILE(lcFile) OR NOT JUSTEXT(lcFile) = 'JPG' RETURN ENDIF lnHandle = SQLSTRINGCONNECT('Driver=Oracle in OraHome92;UID=my_uid;PWD=my_pwd;DBQ=local;') IF lnHandle < 0 RETURN ENDIF lcCursor = 'crsTest' ? SQLEXEC(lnHandle, [select * from test], lcCursor) * * My Test table in Oracle has the structure KeyID Number(6), Photo BLOB * * Make the cursor updatable with appropriate code here * CURSORSETPROP('Tables', 'Test') CURSORSETPROP('UpdateNameList', 'KeyID Test.KeyID, Photo Test.Photo', lcCursor) CURSORSETPROP('KeyFieldList', 'KeyID', lcCursor) CURSORSETPROP('UpdatableFieldList', 'KeyID, Photo', lcCursor) CURSORSETPROP('SendUpdates', .T., lcCursor) CURSORSETPROP('UpdateType', 1, lcCursor) CURSORSETPROP('WhereType', 1, lcCursor) APPEND BLANK REPLACE keyid WITH 1 APPEND GENERAL Photo FROM (lcFile) BROWSE && confirm the graphic is there ? TABLEUPDATE(1) && returns .T. for me CLOSE ALL ? SQLEXEC(lnHandle, [select * from test], [crsTest]) BROWSE LAST NOCAPTIONS *!* the graphic is still there SQLDISCONNECT(lnHandle)>Hi Mark,