dotConnect for Oracle Documentation
Devart.Data.Oracle Namespace / OracleLob Class / CanWrite Property
Example

In This Topic
    CanWrite Property (OracleLob)
    In This Topic
    Gets a value indicating whether the OracleLob object supports writing.
    Syntax
    'Declaration
     
    Public Overrides ReadOnly Property CanWrite As Boolean
    public override bool CanWrite {get;}

    Property Value

    true if the OracleLob stream can be written; false if a OracleLob is closed, disposed or Null.
    Remarks
    Use this property to determine whether you can write to the instance of OracleLob class.
    Example
    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
    See Also