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


C# DataContainer.NextId方法代码示例

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


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

示例1: DataTableChunkCreationBin

        public static void DataTableChunkCreationBin()
        {
            string test_binary = String.Empty;
            var user = User.User.New( "root", "12345678");

            if (!File.Exists ("./testdata/binary.jpg")) {
                Errors.Messages.DisplayError ("No file : ./testdata/binary.jpg", String.Empty, String.Empty, DateTime.Now);
            }

            var bts = File.ReadAllBytes( "./testdata/binary.jpg");

            test_binary = System.Text.Encoding.Default.GetString( bts );

            Console.WriteLine ("Create or use an existing db (0/1)?: ");
            string choise = Console.ReadLine ();
            Console.WriteLine ("Enter db name: ");
            string db_name = Console.ReadLine ();

            var indexes = new List<Index> ();
            var chunk_manager = new ChunkManager.ChunkManager ();

            if (choise.Trim () == "0") {
                Console.WriteLine ("Enter rows count: ");
                int rows_count = Int32.Parse (Console.ReadLine ());
                Console.WriteLine ("Enter cols count: ");
                int cols_count = Int32.Parse (Console.ReadLine ());
                Console.WriteLine ("Enter chunk size: ");

                Console.WriteLine ("Creating DB...");
                var db = DataBase.Create (db_name,
                                          chunk_manager);

                Console.WriteLine ("Creating DC...");

                var dc = new DataContainer (db, "DCBin");

                for (int i = 0; i < cols_count; ++i) {
                    var column = new Column ();
                    column.Name = "col" + i.ToString ();
                    column.Type = DataType.BINARY;
                    dc.AddColumn (column, user);
                }

                for (int k = 0; k < rows_count; ++k) {
                    var rec1 = new Record (dc);
                    rec1.Id = dc.NextId ();

                    foreach (var col in dc.Columns) {
                        rec1 [col.Name].Value = test_binary;
                        rec1 [col.Name].Type = DataType.BINARY;

                        rec1.BuildIndex ();
                    }
                    dc.AddRecordToDataStorage (rec1);
                    indexes.Add (rec1.GetIndex ());
                }
                dc.Save ();
            } else {
                Console.WriteLine ("Trying to get data from db \"" + db_name + "\"");
                var db2 = DataBase.LoadFrom (db_name, chunk_manager);

                var dc = chunk_manager.GetDataContainer ("DCBin");
                dc.AssignOwnerDB (db2);
                //Console.WriteLine("Preloading DC1...");
                dc.PreLoad ( user );

                // Getting a record
                Record rc = null;
                Record rc1 = null;
                Record rc2 = null;
                Record rc3 = null;
                Record rc4 = null;

                var get_time = Checks.ExecutionTimeCheck.DoCheck (() => {
                                                                  	rc = dc.GetRecord (2030, user);
                                                                  });
                var get_time2 = Checks.ExecutionTimeCheck.DoCheck (() => {
                                                                   	rc1 = dc.GetRecord (10, user);
                                                                   });
                var get_time3 = Checks.ExecutionTimeCheck.DoCheck (() => {
                                                                   	rc = dc.GetRecord (30, user);
                                                                   });
                var get_time4 = Checks.ExecutionTimeCheck.DoCheck (() => {
                                                                   	rc3 = dc.GetRecord (20, user);
                                                                   });
                var get_time2s = Checks.ExecutionTimeCheck.DoCheck (() => {
                                                                        rc4 = dc.GetRecord (7900, user);
                                                                    });

                Console.WriteLine ("Getting value time1, ms: " + get_time.ToString ());
                Console.WriteLine ("Getting value time2, ms: " + get_time2.ToString ());
                Console.WriteLine ("Getting value time3, ms: " + get_time3.ToString ());
                Console.WriteLine ("Getting value time4, ms: " + get_time4.ToString ());
                Console.WriteLine ("Getting value time2s, ms: " + get_time2s.ToString ());

                if (rc1 != null && !(rc is DummyRecord)) {
                    var binval = System.Text.Encoding.Default.GetBytes(rc1.Fields [0].Value.ToString ());
                    Console.WriteLine ("Val: " + binval.ToString());

                    using ( var fl = File.Create( "./testdata/binary_1.jpg" ) ) {
//.........这里部分代码省略.........
开发者ID:devgopher,项目名称:DataDwarf,代码行数:101,代码来源:DataTableSampleBinary.cs

示例2: DataTableChunkCreation

        public static void DataTableChunkCreation()
        {
            Console.WriteLine("Create or use an existing db (0/1)?: ");
            string  choise = Console.ReadLine();
            Console.WriteLine("Enter db name: ");
            string db_name = Console.ReadLine();

            User.User user = User.User.New("root", "12345678");

            var indexes = new List<Index>();
            var chunk_manager = new ChunkManager.ChunkManager();

            if ( choise.Trim() == "0" ) {
                Console.WriteLine("Enter rows count: ");
                int rows_count = Int32.Parse(Console.ReadLine());
                Console.WriteLine("Enter cols count: ");
                int cols_count = Int32.Parse(Console.ReadLine());

                Console.WriteLine("Creating DB...");
                var db = DataBase.Create( db_name,
                                         chunk_manager );
                User.User new_usr = User.User.New( "root", "12345678" );
                db.AddAccess( new_usr, DwarfDB.AccessFunctions.Access.AccessLevel.ADMIN);
                Console.WriteLine("Creating DC...");

                var dc = new DataContainer( db, "DataC1" );
                dc.AddAccess( new_usr, DwarfDB.AccessFunctions.Access.AccessLevel.ADMIN);
                var dc2 = new DataContainer( db, "DataC2" );
                dc2.AddAccess( new_usr, DwarfDB.AccessFunctions.Access.AccessLevel.ADMIN);

                for ( int i = 0; i < cols_count; ++i ) {
                    var column = new Column();
                    column.Name = "col"+i.ToString();
                    if ( i % 2 == 0 )
                        column.Type = DataType.STRING;
                    else
                        column.Type = DataType.INT;
                    dc.AddColumn( column, user );
                }

                for ( int i = 0; i < cols_count; ++i ) {
                    var column = new Column();
                    column.Name = "col"+i.ToString();
                    if ( i % 2 == 0 )
                        column.Type = DataType.STRING;
                    else
                        column.Type = DataType.INT;
                    dc2.AddColumn( column, user );
                }

                for ( int k = 0; k < rows_count; ++k ) {
                    var rec1 = new Record( dc );
                    var rec2 = new Record( dc2 );
                    rec1.Id = dc.NextId();
                    rec2.Id = dc2.NextId();

                    foreach ( var col in dc.Columns) {
                        if ( k % 2 == 0 ) {
                            rec1[col.Name].Value = "съешь ещё этих мягких французских булок да выпей чаю "+col.Name+" "+k.ToString();
                            rec1[col.Name].Type = DataType.STRING;
                        } else {
                            rec1[col.Name].Value = k*100;
                            rec1[col.Name].Type = DataType.INT;
                        }

                        if ( k % 2 == 0 ) {
                            rec2[col.Name].Value = "Цитрус "+col.Name+" "+k.ToString()+":::"+db.Name;
                            rec2[col.Name].Type = DataType.STRING;
                        } else {
                            rec2[col.Name].Value = k*555;
                            rec2[col.Name].Type = DataType.INT;
                        }
                    }

                    dc.AddRecordToDataStorage( rec1 );
                    indexes.Add(rec1.GetIndex());
                    dc2.AddRecordToDataStorage( rec2 );
                    indexes.Add(rec2.GetIndex());
                }
                dc.Save();
                dc2.Save();
            } else {
                Console.WriteLine("Trying to get data from db \""+db_name+"\"");

                var db2 = DataBase.LoadFrom( db_name , chunk_manager );

                var dc2 = chunk_manager.GetDataContainer( "DataC1" );
                var dc = chunk_manager.GetDataContainer( "DataC2" );

                dc2.AssignOwnerDB(db2);
                dc.AssignOwnerDB(db2);

                Console.WriteLine("DC2 reccount:  "+dc2.AllRecordsCount);
                Console.WriteLine("DC reccount:  "+dc.AllRecordsCount);

                // Getting a record
                Console.WriteLine("DCs preloading... ");

                //dc.PreLoad( user );
                //dc2.PreLoad( user );
//.........这里部分代码省略.........
开发者ID:devgopher,项目名称:DataDwarf,代码行数:101,代码来源:DataTableSample.cs


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