本文整理汇总了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));
}
}
示例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));
}
}
示例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));
}
示例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);
}
示例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);
}
}