Bernie
   This is the code I use to load bmp files into an image table. 
 
   Maybe this can help you.
 
Buddy
 
*************Code Starts Here*****************
*(Photos.LOD To load newly acquired photos into the IMAGE Table)
*(This will load only BMP images)
   SET MESS OFF
   SET ERR MESS OFF
   CLS
   RUN VARMSG.CMD USI 10 'Preparing to Load BMP Photos'
 
   SET VAR VRows INTEGER = 0
   SEL COUNT(*) INTO VRows INDIC IVRows FROM PictureFileNames WHE +
    BMPFileLoaded = 'N' OR BMPFileLoaded IS NULL
    IF VRows = 0 THEN
     CLS
     PAUSE 2 USI 'Nothing to do...' AT 10 CENTER
     GOTO DONE
    ENDIF
    OUT PHOTOS.ERR
    OUT TERM
  
    SET VAR VFileOK TEXT = '0', VErrors INTEGER = 0
    SET VAR VSocSecNo TEXT, VBMPFile TEXT, VJPGFile TEXT, VFileNameError
TEXT, +
     VFileNumber INTEGER, VMsg TEXT, VLoaded TEXT
    SET VAR VQ = (CHAR(39))
       
    DROP CURSOR C#1
    DECL C#1 CURSOR FOR SEL SocSecNo,FileNumber,BMPFileName,JPGFileName
+
     FROM PictureFileNames WHE BMPFileLoaded = 'N' OR BMPFileLoaded IS
NULL
    OPE C#1
    FETCH C#1 INTO VSocSecNo INDIC ISocSecNo, +
                   VFileNumber INDIC IFileNumber, +
                   VBMPFile INDIC IBMPFile, +
                   VJPGFile INDIC IJPGFile
    WHILE SQLCODE <> 100 THEN
     SEL (GFNAME & GLNAME) INTO VFullName INDIC IFullName FROM Studata
WHE +
       ASSN = .VSocSecNo
     SET VAR VFileOK = (UDF('File',.VBMPFile))
      IF VFileOK = '0' THEN
       SET VAR VErrors = (.VErrors + 1)
       OUT PHOTOS.ERR APPEND
        SET VAR VFileNameError = (.VBMPFile & 'IS MISSING')
        WRI .VSocSecNo .VFileNameError
       OUT TERM
       GOTO GetMore
      ENDIF
       
      SET VAR VMsg = ('Loading Photograph for' & .VFullName)
       
      CLS 
      RUN VARMSG.CMD USI 9 .VMsg
      SET VAR VRows = 0
       SEL COUNT(*) INTO VRows INDIC IVRows FROM Images WHE ASSN =
.VSocSecNo
        IF VRows <> 0 THEN
         DEL ROWS FROM Images WHE ASSN = .VSocSecNo
        ENDIF
       
       SET VAR VLoaded = ('['+.VQ + .VBMPFile + .VQ +']')
       INSERT INTO Images (ASSN,Picture) VALUES +
        .VSocSecNo &VLoaded
       
      UPD PictureFileNames SET BMPFileLoaded = 'Y' WHE FileNumber =
.VFileNumber
       
      DEL &VBMPFile
LABEL GetMore
     FETCH C#1 INTO VSocSecNo INDIC ISocSecNo, +
                    VFileNumber INDIC IFileNumber, +
                    VBMPFile INDIC IBMPFile, +
                    VJPGFile INDIC IJPGFile
   ENDWHILE
   DROP CURSOR C#1
   IF VErrors <> 0 THEN
    CLS
    PAUSE 2 USI 'Some Photos Were Not Loaded' AT CENTER CENTER
    RUN VARMSG.CMD USI 10 'Error List Printing' 
    OUT PRI
     TYPE PHOTOS.ERR
     NEW
    OUT TERM
   ENDIF
    DEL PHOTOS.ERR
LABEL DONE
   CLS
 
   DEL PHOTOS.ERR
   QUIT TO Pictures.CMD

 
*************Code Ends Here***************
 

-----Original Message----- 
From: Bernard Lis [mailto:[EMAIL PROTECTED]] 
Sent: Sat 1/11/2003 3:36 PM 
To: [EMAIL PROTECTED] 
Cc: 
Subject: [RBASE-L] - images 6.5++ 1,862 (latest patch)



According to R:Syntax: 
The recommended data type for images is LONG VARBIT. 
However in rbdefine there is no long varbit, only varbit. 
This is ok because when you do "list" it shows up as Long Varbit, I can 
still insert my image. 

However, I get an error "Column image must be a valid varbit" when I use
a 
variable for the insert command. 

When I use insert into images (ID,Image) values (1,['filename.bmp'])  it

works fine! 

when I replace 'filename.bmp' with .vfilename, I get the above error. 
.vfilename comes from: 
set var vfilename = ('filename' + '.bmp') 

Can anyone help me with this? 

Bernie Lis 
Megabytes, Inc. 
Walled Lake, MI 

Reply via email to