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

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

    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