コード例 #1
0
        /// <summary>
        /// Recursive SetColumns method for data pinning. This populates the buffer and
        /// calls the inherited SetColumns method.
        /// </summary>
        /// <param name="sesid">The session to use.</param>
        /// <param name="tableid">
        /// The table to set the columns in. An update should be prepared.
        /// </param>
        /// <param name="columnValues">
        /// Column values to set.
        /// </param>
        /// <param name="nativeColumns">
        /// Structures to put the pinned data in.
        /// </param>
        /// <param name="i">Offset of this object in the array.</param>
        /// <returns>An error code.</returns>
        internal override unsafe int SetColumns(JET_SESID sesid, JET_TABLEID tableid, ColumnValue[] columnValues, NATIVE_SETCOLUMN *nativeColumns, int i)
        {
            if (null != this.Value)
            {
                fixed(void *buffer = this.Value)
                {
                    return(this.SetColumns(
                               sesid, tableid, columnValues, nativeColumns, i, buffer, this.Value.Length, true));
                }
            }

            return(this.SetColumns(sesid, tableid, columnValues, nativeColumns, i, null, 0, false));
        }
コード例 #2
0
        /// <summary>
        /// Recursive SetColumns method for data pinning. This populates the buffer and
        /// calls the inherited SetColumns method.
        /// </summary>
        /// <param name="sesid">The session to use.</param>
        /// <param name="tableid">
        /// The table to set the columns in. An update should be prepared.
        /// </param>
        /// <param name="columnValues">
        /// Column values to set.
        /// </param>
        /// <param name="nativeColumns">
        /// Structures to put the pinned data in.
        /// </param>
        /// <param name="i">Offset of this object in the array.</param>
        /// <returns>An error code.</returns>
        internal override unsafe int SetColumns(JET_SESID sesid, JET_TABLEID tableid, ColumnValue[] columnValues, NATIVE_SETCOLUMN *nativeColumns, int i)
        {
            var data = this.Value.GetValueOrDefault().ToOADate();

            return(this.SetColumns(sesid, tableid, columnValues, nativeColumns, i, &data, sizeof(double), this.Value.HasValue));
        }
コード例 #3
0
        /// <summary>
        /// Recursive SetColumns method for data pinning. This populates the buffer and
        /// calls the inherited SetColumns method.
        /// </summary>
        /// <param name="sesid">The session to use.</param>
        /// <param name="tableid">
        /// The table to set the columns in. An update should be prepared.
        /// </param>
        /// <param name="columnValues">
        /// Column values to set.
        /// </param>
        /// <param name="nativeColumns">
        /// Structures to put the pinned data in.
        /// </param>
        /// <param name="i">Offset of this object in the array.</param>
        /// <returns>An error code.</returns>
        internal override unsafe int SetColumns(JET_SESID sesid, JET_TABLEID tableid, ColumnValue[] columnValues, NATIVE_SETCOLUMN *nativeColumns, int i)
        {
            byte data = this.Value.GetValueOrDefault() ? (byte)0xFF : (byte)0x00;

            return(this.SetColumns(sesid, tableid, columnValues, nativeColumns, i, &data, sizeof(byte), this.Value.HasValue));
        }
コード例 #4
0
 /// <summary>
 /// Recursive SetColumns method for data pinning. This populates the buffer and
 /// calls the inherited SetColumns method.
 /// </summary>
 /// <param name="sesid">The session to use.</param>
 /// <param name="tableid">
 /// The table to set the columns in. An update should be prepared.
 /// </param>
 /// <param name="columnValues">
 /// Column values to set.
 /// </param>
 /// <param name="nativeColumns">
 /// Structures to put the pinned data in.
 /// </param>
 /// <param name="i">Offset of this object in the array.</param>
 /// <returns>An error code.</returns>
 internal override unsafe int SetColumns(JET_SESID sesid, JET_TABLEID tableid, ColumnValue[] columnValues, NATIVE_SETCOLUMN *nativeColumns, int i)
 {
     byte[] data = this.Value.GetValueOrDefault().ToByteArray();
     fixed(void *buffer = data)
     {
         return(this.SetColumns(
                    sesid, tableid, columnValues, nativeColumns, i, buffer, data.Length, this.Value.HasValue));
     }
 }
コード例 #5
0
 public static unsafe extern int JetSetColumns(
     IntPtr sesid, IntPtr tableid, [In][Out] NATIVE_SETCOLUMN *psetcolumn, uint csetcolumn);
コード例 #6
0
ファイル: ColumnValue.cs プロジェクト: blinds52/managedesent
 /// <summary>
 /// Recursive SetColumns method for data pinning. This should populate the buffer and
 /// call the inherited SetColumns method.
 /// </summary>
 /// <param name="sesid">The session to use.</param>
 /// <param name="tableid">
 /// The table to set the columns in. An update should be prepared.
 /// </param>
 /// <param name="columnValues">
 /// Column values to set.
 /// </param>
 /// <param name="nativeColumns">
 /// Structures to put the pinned data in.
 /// </param>
 /// <param name="i">Offset of this object in the array.</param>
 /// <returns>An error code.</returns>
 internal abstract unsafe int SetColumns(JET_SESID sesid, JET_TABLEID tableid, ColumnValue[] columnValues, NATIVE_SETCOLUMN *nativeColumns, int i);