<faircom>\drivers\csharp.nav\tutorials\Tutorial3.cs
Now we will explore row/record locks using the c-tree Database API for C#.
The functionality for this tutorial focuses on inserting/adding rows/records, then updating a single row/record in the customer master table under locking control. The application will pause after a LOCK is placed on a row/record. Another instance of this application should then be launched, which will block, waiting on the lock held by the first instance. Pressing the <Enter> key will enable the first instance to proceed. This will result in removing the lock thereby allowing the second instance to continue execution. Launching two processes provides a visual demonstration of the effects of locking and a basis for experimentation on your own.
As with all other examples in the c-tree tutorial series, this tutorial simplifies the creation and use of a database into four simple steps: Initialize(), Define(), Manage(), and you’re Done() !
Tutorial #3: Locking
Here we demonstrate the enforcement of data integrity by introducing record/row "locking".
Note our simple Main() function:
using System;
using FairCom.CtreeDb;
using FairCom.CtreeDb.ENUMS;
namespace Tutorial3
{
class Tutorial3
{
static CTSession MySession;
static CTTable MyTable;
static CTRecord MyRecord;
//
// main()
//
// The main() function implements the concept of "init, define, manage
// and you're done..."
//
[STAThread]
static void Main(string[] args)
{
Initialize();
Define();
Manage();
Done();
Console.WriteLine("\nPress <ENTER> key to exit . . .");
Console.ReadLine();
}
We suggest opening the source code with your own editor.
Continue now to review these four steps.