dotConnect for PostgreSQL Documentation
Devart.Data.PostgreSql Namespace / PgSqlBlob Class / CanWrite Property
Example

CanWrite Property (PgSqlBlob)
Gets a value indicating whether the PgSqlBlob object supports writing.
Syntax
'Declaration
 
Public Overrides ReadOnly Property CanWrite As Boolean
 

Property Value

true if the PgSqlBlob stream can be written; false if a PgSqlBlob is closed, disposed or Null.
Remarks
Use this property to determine whether you can write to the instance of PgSqlBlob class.
Example
void ReverseBlob()
{
  byte[] byteArray = { (byte)'A', (byte)'B', (byte)'C' };
  PgSqlBlob blobFrom = new PgSqlBlob(byteArray);
  //blobFrom.ToString() = "ABC"

  PgSqlBlob blobTo = new PgSqlBlob();
  ........
  //reverse PgSqlBlob
  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 PgSqlBlob(byteArray)
  ' blobFrom.ToString() = "ABC"

  Dim blobTo As New PgSqlBlob
  ......
  ' reverse PgSqlBlob
  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