private Database OpenDatabase(string file) { List<Parameter> list = new List<Parameter>(); Parameter param1 = new Parameter(); param1.name = HamConst.HAM_PARAM_CACHESIZE; param1.value = 768 * 1024 * 1024; list.Add(param1); Database db = new Database(); db.Open(file, 0, list.ToArray()); db.SetCompareFunc(new CompareFunc(NumericalCompareFunc)); return db; }
static void Main(string[] args) { byte[] key = new byte[5]; byte[] record = new byte[5]; Database db = new Database(); /* * first, create a new Database */ db.Create("test.db"); /* * now we can insert, delete or lookup values in the Database * * for our test program, we just insert a few values, then look them * up, then delete them and try to look them up again (which will fail). */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; record[0] = (byte)i; db.Insert(key, record); } /* * now look up all values */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; byte[] r = db.Find(key); /* * check if the value is ok */ if (r[0] != (byte)i) { Console.Out.WriteLine("db.Find() returned bad value"); return; } } /* * close the Database handle, then re-open it (just to demonstrate how * to open a Database file) */ db.Close(); db.Open("test.db"); /* * now erase all values */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; db.Erase(key); } /* * once more we try to find all values... every db.Find() call must * now fail with HAM_KEY_NOT_FOUND */ for (int i = 0; i < LOOP; i++) { key[0] = (byte)i; try { byte[] r = db.Find(key); } catch (DatabaseException e) { if (e.ErrorCode != HamConst.HAM_KEY_NOT_FOUND) { Console.Out.WriteLine("db.Find() returned error " + e); return; } } } /* * We're done! No need to close the Database handle - it's closed automatically */ Console.Out.WriteLine("Success!"); }
public void CreateString() { Database db = new Database(); try { db.Create("ntest.db"); db.Close(); db.Open("ntest.db"); db.Close(); } catch (DatabaseException e) { Assert.Fail("Unexpected exception " + e); } }