It is possible to create or open a table without database support by passing a session object when creating the table object.
// create the session and table objects
CTSession ASession = new CTSession(SESSION_TYPE.CTDB_SESSION);
CTTable ATable = new CTTable(ASession);
// logon to session
ASession.Logon("FAIRCOMS", "ADMIN", "ADMIN");
// without database support, it is necessary to
// specify the path were the table is located
ATable.SetPath("C:\\MyDocuments");
// open the table
try
{
ATable.Open("MyTable", OPEN_MODE.NORMAL_OPEN);
}
catch (CTException err)
{
Console.Write("Table open failed with error {0}\n, err.GetErrorCode());
}
Please note from the code above the need to specify the path where the table is located. If no path is specified, FairCom DB API .NET will try to open the table from the current directory. The same principle applies when creating a table without database support:
// create the session and table objects
CTSession ASession = new CTSession(SESSION_TYPE.CTDB_SESSION);
CTTable ATable = new CTTable(ASession);
// logon to session
ASession.Logon("FAIRCOMS", "ADMIN", "ADMIN");
// add fields to table
ATable.AddField("Field1", FIELD_TYPE.INT2, 2);
ATable.AddField("Field2", FIELD_TYPE.FSTRING, 30);
// without database support, it is necessary to
// specify the path were the table is located
ATable.SetPath("C:\\MyDocuments");
// open the table
try
{
ATable.Create("MyTable", CREATE_MODE.NORMAL_CREATE);
}
catch (CTException err)
{
Console.Write("Create open failed with error {0}\n, err.GetErrorCode());
}
Note: Delphi users should use the equivalent method CreateSession() instead of Create().