在Faircom c-Tree Plus中构建查询

时间:2015-12-15 12:08:32

标签: c# database odbc

我有一个Faircom c-tree数据库文件(.dat& .idx)。 我使用ODBC Faircom Driver连接了它。

现在我想在该数据库上构建查询。实际上我已经准备好SQL版本查询,但它在c-tree数据库中不起作用。

大多数功能都不受支持(如isnull,isnumeric,dateadd等)。

帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

此处有一个针对C#的开发人员指南,因为您的一个代码是:.Net Guide

除了您在此处阅读示例的具体引用: C# Read Example

引用上述链接中的示例,您的读取代码将如下所示:

static void Initialize()
        {
            Console.WriteLine("INIT");
            try
            {
                // This section is only needed for the AppServer DLL model.
                bool AppServerModel = true;
                if (AppServerModel)
                {
                    // Set c-tree database engine configuration file name.
                    CTSession.SetConfigurationFile("ctsrvr.cfg");
                    // Start c-tree database engine.
                    CTSession.StartDatabaseEngine();
                }
                // allocate objects
                MySession = new CTSession(SESSION_TYPE.CTREE_SESSION);
                MyTable = new CTTable(MySession);
                MyRecord = new CTRecord(MyTable);
            }
            catch(CTException E)
            {
                Handle_Exception(E);
            }
            try
            {
                // connect to server
                Console.WriteLine("\tLogon to server...");
                MySession.Logon("FAIRCOMS", "", "");
            }
            catch(CTException E)
            {
                Handle_Exception(E);
            }
        }

static void Display_Records()
        {
            bool found;
            string custnumb;
            string custname;
            Console.Write("\tDisplay records...");
            try
            {
                // read first record
                found = MyRecord.First();
                while (found)
                {
                    custnumb = MyRecord.GetFieldAsString(0);
                    custname = MyRecord.GetFieldAsString(4);
                    Console.WriteLine("\n\t\t{0,-8}{1,-20}", custnumb, custname);
                    // read next record
                    found = MyRecord.Next();
                }
            }
            catch(CTException E)
            {
                Handle_Exception(E);
            }
        }