CanWrite Property (OracleLob)
Gets a value indicating whether the OracleLob object supports writing.
public override bool CanWrite {get;}
'Declaration
Public Overrides ReadOnly Property CanWrite As Boolean
Property Value
true if the
OracleLob stream can be written;
false if a
OracleLob is closed, disposed or
Null.
static void ReverseBlob()
{
byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' };
OracleLob blobFrom = new OracleLob(OracleDbType.Blob);
blobFrom.Write(byteArray, 0, byteArray.Length);
//blobFrom.ToString() = "ABC"
OracleLob blobTo = new OracleLob(OracleDbType.Blob);
........
//reverse OracleLob
if (blobFrom.CanSeek && blobFrom.CanRead && blobTo.CanWrite)
for (blobFrom.Seek(-1, System.IO.SeekOrigin.End); ;blobFrom.Position -= 2)
{
blobTo.WriteByte((byte)blobFrom.ReadByte());
if (blobFrom.Position == 1) break;
}
//blobTo.ToString() = "CBA";
}
Private Sub ReverseBlob()
Dim byteArray As Byte() = New Byte() {AscW("A"c), AscW("B"c), AscW("C"c)}
Dim blobFrom As New OracleLob(OracleDbType.Blob)
blobFrom.Write(byteArray, 0, byteArray.Length)
' blobFrom.ToString() = "ABC"
Dim blobTo As New OracleLob(OracleDbType.Blob)
........
' reverse OracleLob
If ((blobFrom.CanSeek AndAlso blobFrom.CanRead) AndAlso blobTo.CanWrite) Then
blobFrom.Seek(CLng(-1), System.IO.SeekOrigin.End)
Do While True
blobTo.WriteByte(CByte(blobFrom.ReadByte))
If (blobFrom.Position = 1) Then
Return
End If
blobFrom.Position = blobFrom.Position - 2
Loop
End If
' blobTo.ToString() = "CBA";
End Sub