private void update(DSMessage dsupdate, SQLiteConnection conn) { SQLiteDataAdapter adapter = new SQLiteDataAdapter(); SQLiteCommand cmd1 = new SQLiteCommand("insert into Player values(@uri,@Name,@Type)", conn); cmd1.Parameters.Add("@uri", DbType.String).SourceColumn = dsupdate.Player.UriColumn.ColumnName; cmd1.Parameters.Add("@Name", DbType.String).SourceColumn = dsupdate.Player.NameColumn.ColumnName; cmd1.Parameters.Add("@Type", DbType.Int32).SourceColumn = dsupdate.Player.TypeColumn.ColumnName; SQLiteCommand cmd3 = new SQLiteCommand("insert into Message values(@MessageID,@ReceiverUri,@ReceiverName,@Status)", conn); cmd3.Parameters.Add("@MessageID", DbType.String).SourceColumn = dsupdate.Message.MessageIDColumn.ColumnName; cmd3.Parameters.Add("@ReceiverUri", DbType.String).SourceColumn = dsupdate.Message.ReceiverUriColumn.ColumnName; cmd3.Parameters.Add("@ReceiverName", DbType.String).SourceColumn = dsupdate.Message.ReceiverNameColumn.ColumnName; cmd3.Parameters.Add("@Status", DbType.Int32).SourceColumn = dsupdate.Message.StatusColumn.ColumnName; SQLiteCommand cmd2 = new SQLiteCommand("insert into MessageBody values(@ID,@SenderUri,@SenderName,@Body,@Extend,@MessageType,@Time)", conn); cmd2.Parameters.Add("@ID", DbType.String).SourceColumn = dsupdate.MessageBody.IDColumn.ColumnName; cmd2.Parameters.Add("@SenderUri", DbType.String).SourceColumn = dsupdate.MessageBody.SenderUriColumn.ColumnName; cmd2.Parameters.Add("@SenderName", DbType.String).SourceColumn = dsupdate.MessageBody.SenderNameColumn.ColumnName; cmd2.Parameters.Add("@Body", DbType.String).SourceColumn = dsupdate.MessageBody.BodyColumn.ColumnName; cmd2.Parameters.Add("@Extend", DbType.String).SourceColumn = dsupdate.MessageBody.ExtendColumn.ColumnName; cmd2.Parameters.Add("@MessageType", DbType.Int32).SourceColumn = dsupdate.MessageBody.MessageTypeColumn.ColumnName; cmd2.Parameters.Add("@Time", DbType.DateTime).SourceColumn = dsupdate.MessageBody.TimeColumn.ColumnName; adapter.InsertCommand = cmd1; adapter.Update(dsupdate.Player); adapter.InsertCommand = cmd3; adapter.Update(dsupdate.Message); adapter.InsertCommand = cmd2; adapter.Update(dsupdate.MessageBody); }
private DSMessage getSQLiteData(string file, string pass) { DSMessage ds = new DSMessage(); SQLiteConnection conn = null; try { conn = new SQLiteConnection(string.Format(format, file, pass)); SQLiteDataAdapter adapter = new SQLiteDataAdapter(); conn.Open(); adapter.SelectCommand = new SQLiteCommand("select * from Player", conn); adapter.Fill(ds, ds.Player.TableName); adapter.SelectCommand = new SQLiteCommand("select * from Message", conn); adapter.Fill(ds, ds.Message.TableName); adapter.SelectCommand = new SQLiteCommand("select * from MessageBody", conn); adapter.Fill(ds, ds.MessageBody.TableName); adapter.Dispose(); conn.Close(); Console.WriteLine(file + " ok"); return(ds); } catch (Exception ex) { Console.WriteLine(ex.Message); return(new DSMessage()); } }
private void leadin(string dataPath) { string[] list = System.IO.Directory.GetFiles(dataPath, "616777643_*.xml"); if (list.Length == 0) { return; } DSMessage dsmain = getSQLiteData(System.IO.Path.Combine(dataPath, "history.dat"), mainNo); Log dsLog = new Log(); foreach (string file in list) { dsLog.Clear(); dsLog.ReadXml(file); string r = "", s = "", rn = "", sn = ""; foreach (Log.MessageRow row in dsLog.Message.Rows) { if (dsmain.Player.FindByUri(row.FromUri) == null) { dsmain.Player.AddPlayerRow(row.FromUri, row.From, 0); } if (r == "") { r = row.FromUri; rn = row.From; } else if (s == "") { s = row.FromUri; sn = row.From; } if (dsmain.Message.FindByMessageID(row.MessageID) == null) { if (row.FromUri == r) { dsmain.Message.AddMessageRow(row.MessageID, s, sn, 0); } else { dsmain.Message.AddMessageRow(row.MessageID, r, rn, 0); } } if (dsmain.MessageBody.FindByID(row.MessageID) == null) { dsmain.MessageBody.AddMessageBodyRow(dsmain.Message.FindByMessageID(row.MessageID), row.FromUri, row.From, row.Text, "", 0, DateTime.Parse(row.Date + " " + row.Time)); } } } update(dsmain, new SQLiteConnection(string.Format(format, System.IO.Path.Combine(dataPath, "history.dat"), mainNo))); }
private void merge(string dataPath, string pass) { string[] list = System.IO.Directory.GetFiles(dataPath, "*history*.dat"); if (list.Length == 0) { return; } if (list.Length == 1) { if (System.IO.Path.GetFileName(list[0]).ToUpper() == "HISTORY.DAT") { return; } } DSMessage dsmain = getSQLiteData(System.IO.Path.Combine(dataPath, "history.dat"), mainNo); foreach (string file in list) { if (System.IO.Path.GetFileName(file).ToUpper() == "HISTORY.DAT") { continue; } DSMessage dstemp = getSQLiteData(file, pass); foreach (DSMessage.PlayerRow row in dstemp.Player.Rows) { if (dsmain.Player.FindByUri(row.Uri) == null) { dsmain.Player.AddPlayerRow(row.Uri, row.Name, row.Type); } } foreach (DSMessage.MessageRow row in dstemp.Message.Rows) { if (dsmain.Message.FindByMessageID(row.MessageID) == null) { dsmain.Message.AddMessageRow(row.MessageID, row.ReceiverUri, row.ReceiverName, row.Status); } } foreach (DSMessage.MessageBodyRow row in dstemp.MessageBody.Rows) { if (dsmain.MessageBody.FindByID(row.ID) == null) { dsmain.MessageBody.AddMessageBodyRow(row.MessageRow, row.SenderUri, row.SenderName, row.Body, row.Extend, row.MessageType, row.Time); } } //伪造记录 //string ms=Qoushui.DLL.Encoding.ClassShare.GetMD5String(System.Text.Encoding.ASCII.GetBytes(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"))); //SQLiteCommand cmd = new SQLiteCommand("insert into Message values('"+ms+ "','tel:13777774018','张敏相',0)", conn); //conn.Open(); //Console.WriteLine(cmd.ExecuteNonQuery()); //cmd.CommandText = "insert into MessageBody values('" + ms + "','sip:[email protected];p=810','.','========','',1, '" + DateTime.Now.ToString() + "' )"; //cmd.ExecuteNonQuery(); //conn.Close(); } update(dsmain, new SQLiteConnection(string.Format(format, System.IO.Path.Combine(dataPath, "history.dat"), mainNo))); dsmain.AcceptChanges(); }
///// <summary> ///// 防区消息 ///// </summary> //static string ZoomMsg = " "; void ShowMsg(string str) { DSMessage?.Invoke(string.Format("{0} 时间:{1}{2}", str, DateTime.Now, Environment.NewLine)); }