// 开始解析; private void parseFile_Click(object sender, RoutedEventArgs e) { List <Event> le = new List <Event>(); byte[] bytes = { 0x06, 0xD6, 0x12, 0x09, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x28, 0xFF, 0xF0, 0x5A, 0xC4, 0x95, 0x6C, 0x1D, 0x36, 0xE3, 0xB4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x5C, 0x00 }; IDbCommand sessionSqlCmd; DbOptions opts = new DbOptions(); opts.ConnStr = DbConnSqlite.GetConnectString(DbConnProvider.DefaultSqliteDatabaseName);; opts.ConnType = CDLBrowser.Parser.DatabaseMgr.DbType.SQLite; DbConn dbconn = new DbConn(opts); int ret = dbconn.CheckDatabaseTable(typeof(Event)); if (ret < 0) { return; } /* * dbconn.ExcuteNonQuery("PRAGMA synchronous = OFF"); * dbconn.ExcuteNonQuery("PRAGMA journal_mode = MEMORY"); */ sessionSqlCmd = dbconn.BeginTransaction(); string sql = string.Empty; EventParser parser = new EventParser(); parser.Version = "1.3.06659"; EventParserManager.Instance.AddEventParser(parser.Version, parser); Event newe = ParseEvent(bytes, "1.3.06659"); le.Add(newe); sql = dbconn.CreateInsertSqlFromObject(typeof(Event), newe, "Event", true); // dbconn.ExcuteByTrans(sql, sessionSqlCmd); IDbDataParameter dbparameterRaw = null; IDbDataParameter dbparameterBody = null; dbparameterRaw = new SQLiteParameter("@RawData", newe.RawData); dbparameterBody = new SQLiteParameter("@MsgBody", newe.MsgBody); IDbDataParameter[] paramsArray = new IDbDataParameter[2]; paramsArray[0] = dbparameterRaw; paramsArray[1] = dbparameterBody; dbconn.ExecuteWithParamtersByTrans(sql, paramsArray, sessionSqlCmd); dbconn.CommitChanges(sessionSqlCmd); dbconn.Close(); }