public void Close()
 {
     if (_open && Handle != NullHandle)
     {
         try
         {
             var r = SQLite3.Close(Handle);
             if (r != SQLite3.Result.OK)
             {
                 string msg = SQLite3.GetErrmsg(Handle);
                 throw SQLiteException.New(r, msg);
             }
         }
         finally
         {
             Handle = NullHandle;
             _open  = false;
         }
     }
 }