Example #1
0
 public Result SetChars(long lobId, long offset, char[] chars)
 {
     lock (this)
     {
         if (chars.Length != 0)
         {
             object[] lobHeader = this.GetLobHeader(lobId);
             if (lobHeader == null)
             {
                 return(Result.NewErrorResult(Error.GetError(0xd92)));
             }
             long   num       = Convert.ToInt64(lobHeader[1]);
             byte[] dataBytes = ArrayUtil.CharArrayToBytes(chars);
             Result result2   = this.SetBytesBa(lobId, dataBytes, offset * 2L, chars.Length * 2);
             if (result2.IsError())
             {
                 return(result2);
             }
             if ((offset + chars.Length) > num)
             {
                 result2 = this.SetLength(lobId, offset + chars.Length);
                 if (result2.IsError())
                 {
                     return(result2);
                 }
             }
         }
         return(ResultLob.NewLobSetResponse(lobId, 0L));
     }
 }