⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.cs

📁 嵌入式数据库软件 嵌入式数据库软件 嵌入式数据库软件
💻 CS
字号:
using System;using FastDbNet;namespace FastDbNetTest{	public class Test	{    /// <summary>		/// The main entry point for the application.		/// </summary>		[STAThread]		static void Main(string[] args)		{      int  rc;      uint oid = 0;      int  nRecords = 3;      FastDbConnection connection = new FastDbConnection("test");      connection.InitDbSize       = FastDbConnection.DefaultInitDatabaseSize*2;      connection.InitIdxSize      = FastDbConnection.DefaultInitIndexSize*2;      connection.ExtensionQuantum = FastDbConnection.DefaultExtensionQuantum*2;      connection.Open();      FastDbFields fields = new FastDbFields();      fields.Add("int_field", CLI.FieldType.cli_int8,   CLI.FieldFlags.cli_hashed);      fields.Add("str_field", CLI.FieldType.cli_asciiz, CLI.FieldFlags.cli_indexed);      rc = connection.CreateTable("test", fields);      if (rc < 0) Console.WriteLine("cli_create_table: {0}", CLI.CliErrorToStr(rc));      FastDbCommand command = connection.CreateCommand("insert into test");      command.Fields.Assign(fields);  // You could also do:  command.Describe();      DateTime time = DateTime.Now;      long key = 1999;      for (int i = 0; i < nRecords; i++)      {        key = (3141592621L * key + 2718281829L) % 1000000007L;        command.Fields[0].asInt64 = key;        command.Fields[1].asString = key.ToString();        oid = command.Insert();      }      connection.Commit();      Console.WriteLine(String.Format("Elapsed time for inserting {0} records: {1} (speed: {2:F2})", nRecords, DateTime.Now - time, nRecords*1000 / (DateTime.Now - time).TotalMilliseconds));      command = connection.CreateCommand("insert into persons");            command.Fields.Add("name",          CLI.FieldType.cli_asciiz, CLI.FieldFlags.cli_indexed);      command.Fields.Add("salary",        CLI.FieldType.cli_int8);      command.Fields.Add("address",       CLI.FieldType.cli_asciiz);      command.Fields.Add("weight",        CLI.FieldType.cli_real8);      command.Fields.Add("subordinates",  CLI.FieldType.cli_array_of_oid, CLI.FieldFlags.cli_noindex, "persons");      rc = connection.CreateTable("persons", command.Fields);      if (rc < 0)        Console.WriteLine("cli_create_table: {0}", rc);      Console.WriteLine("Name\tType\tSize\tCapacity\tFlags");      for (int i=0; i < command.Fields.Count; ++i)       {        FastDbField f = command.Fields[i];        Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}",           f.Name, f.Type, f.Size, f.Capacity, f.Flags);      }            connection.Commit();      time = DateTime.Now;      for (int i=0; i < nRecords; ++i)       {        int n = 0;        command.Fields[n++].asString = String.Format("Name{0}", i+1);        command.Fields[n++].asInt64  = (i+1) * 1000;        command.Fields[n++].asString = String.Format("Address {0}", 100-i);        command.Fields[n++].asDouble = (i+1) * 100;        command.Fields[n].ArraySize = (i==0) ? 0 : 1;        if (i > 0)          command.Fields[n].SetArrayValue(0, oid);        oid = command.Insert();      }      connection.Commit();      Console.WriteLine("Elapsed time for inserting {0} records: {1} (speed: {2:F2})", nRecords, DateTime.Now - time, nRecords*1000 / (DateTime.Now - time).TotalMilliseconds);      command = connection.CreateCommand("select * from persons");      //command.Execute();      DumpRecords(command);      connection.Commit();      command = connection.CreateCommand(@"select * from persons where length(subordinates) < %subordinates and salary > %salary");      command.Parameters.Add("subordinates", CLI.FieldType.cli_int4);      command.Parameters.Add("salary",       CLI.FieldType.cli_int8);      command.Parameters["subordinates"].asInteger = 1;      command.Parameters["salary"].asInteger       = 100;      //command.Execute();      DumpRecords(command);		}    public static void DumpRecords(FastDbCommand command) {      Console.WriteLine();      Console.WriteLine("---SQL: \"{0}\"---", command.SQL);      command.Describe();  // Ensure that field descriptions are fetched from the database.      foreach (FastDbField f in command.Fields)         Console.Write("{0}\t", f.Name);      Console.WriteLine();      foreach(FastDbCommand.Cursor cur in command.Select()) {        foreach (FastDbField f in cur.Fields)           Console.Write("{0}\t", f.asString);        Console.WriteLine();      }    }	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -