General information
Category:
Coding, syntax & commands
Environment versions
Network:
Windows 2003 Server
>>>>>>>How to copy the contents of a blob field in a table into an array of bytes.
>>>>>>>
>>>>>>
>>>>>>VFP doesn't have byte data type. Please clarify.
>>>>>
>>>>>It does *sortof*. I've defined arrays as byte (DIME aTest[100] as BYTE, aTest = 'X') to pass to COM servers and they are recognized as VT_UI1. TYPE() in VFP returns 'N'. I guess it depends on what the array is to be used for.
>>>>
>>>>
>>>>Sergey & Gary,
>>>>
>>>>Thanks for responding to my posting.
>>>>
>>>>Actually, my purpose has to do with COM. I'm developing a COM server. The client will pass a reference (pointer) to a byte array to the COM sever. The COM server will transfer the data from the blob field into the byte array.
>>>>
>>>>So, how, in my VFP COM server can I transfer the data from the blob into the byte array?
>>>>
>>>>Looks like VFP Dimension statement knows about the Byte data type, by the CAST function does not.
>>>>
>>>>Thanks,
>>>>Jim
>>>
>>>
>>>Does something like the following work?
>>>
>>>DIME MyPassedArray[LEN(MyBlob)]
>>>
>>>FOR nInc = 1 TO LEN(MyBlob)
>>> MyPassedArray[nInc]=SUBSTR(MyBlob,nInc,1)
>>>ENDFOR
>>
>>Gary,
>>I just got to try your suggestion. The blob field is part of a view. When I try the code you suggest:
>>
>> FOR nIx = 1 TO nBlobSize
>> nBlobData[nIx] = SUBSTR(BlobData, nIx, 1)
>> ENDFOR
>>
>>Where, BlobData is the name of the blob field in the view. I get the following error message:
>>
>> Function argument value, type, or count is invalid
>>
>>I get the sam error if I use vMyView.BlobData as the first argument.
>>Again, thanks for your suggestions.
>>Jim
>
>What is the type of the BlobData field?
Naomi,
It is a blob in the original database from which I create the view. BlobData is the name of the field in the VFP view. VARTYPE(BlobData) returns "G". Does that mean that it is no longer a blob?
In any case, I am trying to get the binary data out of that blob field.
In the view, I just changed the field to say CAST(myBlobField AS BLOB) AS BlobData.But, VARTYPE(BlobData) still returns "G:
The original database is Firebird.I use a VFP parametrized view to get a specific record in the table, and now want to get the blob field in that record.
Hmmm
Jim
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only