当前位置: 首页>>代码示例>>C#>>正文


C# Cursor.Move方法代码示例

本文整理汇总了C#中Cursor.Move方法的典型用法代码示例。如果您正苦于以下问题:C# Cursor.Move方法的具体用法?C# Cursor.Move怎么用?C# Cursor.Move使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cursor的用法示例。


在下文中一共展示了Cursor.Move方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MoveCursorToPrevDuplicate

        /*
         * Move the cursor to a duplicate record and then to
         * another duplicate one. And finally move to it previous
         * one. Since the previous duplicate one exist, the return
         * value of move previous duplicate record should be
         * true;
         */
        public void MoveCursorToPrevDuplicate(Cursor dbc, 
		    LockingInfo lck)
        {
            if (lck == null)
            {
                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")), true);
                dbc.MoveNextDuplicate();
                Assert.IsTrue(dbc.MovePrevDuplicate());
            }
            else
            {
                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")),true, lck);
                dbc.MoveNextDuplicate(lck);
                Assert.IsTrue(dbc.MovePrevDuplicate(lck));
            }
        }
开发者ID:gildafnai82,项目名称:craq,代码行数:25,代码来源:CursorTest.cs

示例2: MoveCursorToNextDuplicate

        /*
         * Move the cursor to the next duplicate record in
         * the database which has more than 2 duplicate
         * records. The returning value should be true.
         */
        public void MoveCursorToNextDuplicate(Cursor dbc, 
		    LockingInfo lck)
        {
            DatabaseEntry key = new DatabaseEntry(
                ASCIIEncoding.ASCII.GetBytes("key"));

            /*
             * The cursor should point to any record in the
             * database before it move to the next duplicate
             * record.
             */
            if (lck == null)
            {
                dbc.Move(key, true);
                Assert.IsTrue(dbc.MoveNextDuplicate());
            }
            else
            {
                /*
                 * Both the move and move next duplicate
                 * operation should use LockingInfo. If any
                 * one doesn't use LockingInfo, deadlock still
                 * occurs.
                 */
                dbc.Move(key, true, lck);
                Assert.IsTrue(dbc.MoveNextDuplicate(lck));
            }
        }
开发者ID:gildafnai82,项目名称:craq,代码行数:33,代码来源:CursorTest.cs

示例3: MoveCursor

        /*
         * Move the cursor to an exisiting key and key/data
         * pair with LockingInfo.
         */
        public void MoveCursor(Cursor dbc, LockingInfo lck)
        {
            DatabaseEntry key, data;
            KeyValuePair<DatabaseEntry, DatabaseEntry> pair;

            key = new DatabaseEntry(
                BitConverter.GetBytes((int)0));
            data = new DatabaseEntry(
                BitConverter.GetBytes((int)0));
            pair = new KeyValuePair<DatabaseEntry,
                DatabaseEntry>(key, data);

            // Move to an existing key.
            Assert.IsTrue(dbc.Move(key, true, lck));

            // Move to an existing key/data pair.
            Assert.IsTrue(dbc.Move(pair, true, lck));
        }
开发者ID:gildafnai82,项目名称:craq,代码行数:22,代码来源:CursorTest.cs

示例4: MoveCursorToPrevDuplicate

        /*
         * Move the cursor to a duplicate record and then to
         * another duplicate one. And finally move to it previous
         * one. Since the previous duplicate one exist, the return
         * value of move previous duplicate record should be
         * true;
         */
        public void MoveCursorToPrevDuplicate(Cursor dbc,
		uint kOffset, uint kLen,
		uint dOffset, uint dLen, LockingInfo lck)
        {
            if (lck == null) {
                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")), true);
                dbc.MoveNextDuplicate();
                Assert.IsTrue(dbc.MovePrevDuplicate());

                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")), true);
                dbc.MoveNextDuplicate();
                Assert.IsTrue(dbc.MovePrevDuplicate(
                    new DatabaseEntry(kOffset, kLen),
                    new DatabaseEntry(dOffset, dLen)));
            } else {
                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")),
                    true, lck);
                dbc.MoveNextDuplicate(lck);
                Assert.IsTrue(dbc.MovePrevDuplicate(lck));

                dbc.Move(new DatabaseEntry(
                    ASCIIEncoding.ASCII.GetBytes("key")),
                    true, lck);
                dbc.MoveNextDuplicate(lck);
                Assert.IsTrue(dbc.MovePrevDuplicate(
                    new DatabaseEntry(kOffset, kLen),
                    new DatabaseEntry(dOffset, dLen), lck));
            }

            CheckPartial(dbc.Current.Key, kOffset, kLen,
            dbc.Current.Value, dOffset, dLen);
        }
开发者ID:mcandre,项目名称:db,代码行数:42,代码来源:CursorTest.cs

示例5: MoveCursor

        /*
         * Move the cursor to an exisiting key and key/data
         * pair with LockingInfo.
         */
        public void MoveCursor(Cursor dbc,
		    uint kOffset, uint kLen,
		    uint dOffset, uint dLen,
		    LockingInfo lck)
        {
            DatabaseEntry key, data;
            KeyValuePair<DatabaseEntry, DatabaseEntry> pair;

            key = new DatabaseEntry(
                BitConverter.GetBytes((int)0));
            data = new DatabaseEntry(
                BitConverter.GetBytes((int)0));
            pair = new KeyValuePair<DatabaseEntry,
                DatabaseEntry>(key, data);

            if (lck == null) {
                // Move to an existing key.
                Assert.IsTrue(dbc.Move(key, true));

                // Move to an existing key/data pair.
                Assert.IsTrue(dbc.Move(pair, true));

                /* Move to an existing key, and return
                 * partial data.
                 */
                data = new DatabaseEntry(dOffset, dLen);
                Assert.IsTrue(dbc.Move(key, data, true));
                CheckPartial(null, 0, 0,
                    dbc.Current.Value, dOffset, dLen);

                // Partially key match.
                byte[] partbytes = new byte[kLen];
                for (int i = 0; i < kLen; i++)
                partbytes[i] = BitConverter.GetBytes(
                    (int)1)[kOffset + i];
                key = new DatabaseEntry(partbytes, kOffset, kLen);
                Assert.IsTrue(dbc.Move(key, false));
                Assert.AreEqual(kLen, dbc.Current.Key.Data.Length);
                CheckPartial(dbc.Current.Key, kOffset, kLen,
                    null, 0, 0);
            } else {
                // Move to an existing key.
                Assert.IsTrue(dbc.Move(key, true, lck));

                // Move to an existing key/data pair.
                Assert.IsTrue(dbc.Move(pair, true, lck));

                /*
                 * Move to an existing key, and return
                 * partial data.
                 */
                data = new DatabaseEntry(dOffset, dLen);
                Assert.IsTrue(dbc.Move(key, data, true, lck));
                CheckPartial(null, 0, 0,
                    dbc.Current.Value, dOffset, dLen);

                // Partially key match.
                byte[] partbytes = new byte[kLen];
                for (int i = 0; i < kLen; i++)
                    partbytes[i] = BitConverter.GetBytes(
                        (int)1)[kOffset + i];
                key = new DatabaseEntry(partbytes, kOffset, kLen);
                Assert.IsTrue(dbc.Move(key, false, lck));
                Assert.AreEqual(kLen, dbc.Current.Key.Data.Length);
                CheckPartial(dbc.Current.Key, kOffset, kLen,
                    null, 0, 0);
            }
        }
开发者ID:mcandre,项目名称:db,代码行数:72,代码来源:CursorTest.cs


注:本文中的Cursor.Move方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。