private void insertPlateViewSQL(MyPlateCommodityInfo uc) { string type = null; if (marketType.Equals(DaFutures)) { type = "00"; //期货 } else { type = "10"; //股票 } string[] cmdTexts = null; MySqlParameter[][] commandParameters = null; MySqlParameter[] delcommandParameters = new MySqlParameter[] { new MySqlParameter("@plate_group_id", uc.FPlateGroupId), new MySqlParameter("@plate_id", uc.FPlateId), new MySqlParameter("@exchange_no", uc.FExchangeNo), new MySqlParameter("@commodity_no", uc.FComodityNo), new MySqlParameter("@commodity_type", type) }; MySqlParameter[] insertcommandParameters = new MySqlParameter[] { new MySqlParameter("@plate_group_id", uc.FPlateGroupId), new MySqlParameter("@plate_group_name", uc.FPlateGroupName), new MySqlParameter("@plate_id", uc.FPlateId), new MySqlParameter("@plate_name", uc.FPlateName), new MySqlParameter("@exchange_no", uc.FExchangeNo), new MySqlParameter("@commodity_no", uc.FComodityNo), new MySqlParameter("@commodity_type", type), new MySqlParameter("@group_sort_id", "0"), new MySqlParameter("@sort_id", uc.FSortId), new MySqlParameter("@create_by", "batch_id"), new MySqlParameter("@create_date", DateTime.Now), new MySqlParameter("@update_by", "batch_id"), new MySqlParameter("@update_date", DateTime.Now) }; //需要更新的时候 cmdTexts = new string[] { SQLText.deletePlateView, SQLText.insertPlateViewSQL }; commandParameters = new MySqlParameter[][] { delcommandParameters, insertcommandParameters }; bool isInsert = MySqlHelper.ExecuteTransaction(MySqlHelper.ConnectionStringManager, CommandType.Text, cmdTexts, commandParameters); if (!isInsert) { PrintToTxt(uc.MyToString() + " 板块更新失败"); marketErrorLoger.log(LogLevel.SYSTEMERROR, uc.MyToString() + " 产品更新失败"); } }
private void InsertOrUpdatePlateView(List <MyPlateCommodityInfo> lstUc) { MySqlCommand sqlselectcom = new MySqlCommand(); sqlselectcom.CommandText = SQLText.selectPlateView; MySqlCommand sqldelcom = new MySqlCommand(); sqldelcom.CommandText = SQLText.deletePlateView; string type = null; if (marketType.Equals(DaFutures)) { type = "00"; //期货 } else { type = "10"; //股票 } MySqlParameter[] commandParameters = commandParameters = new MySqlParameter[] { new MySqlParameter("@commodity_type", type) }; MySqlDataReader reader = MySqlHelper.ExecuteReader(MySqlHelper.ConnectionStringManager, CommandType.Text, sqlselectcom.CommandText, commandParameters); while (reader.Read() == true) { string plate_group_id = DBValueToStr(reader, "plate_group_id"); string plate_id = DBValueToStr(reader, "plate_id"); string exchange_no = DBValueToStr(reader, "exchange_no"); string commodity_no = DBValueToStr(reader, "commodity_no"); string plate_group_name = DBValueToStr(reader, "plate_group_name"); string plate_name = DBValueToStr(reader, "plate_name"); string group_sort_id = DBValueToStr(reader, "group_sort_id"); string sort_id = DBValueToStr(reader, "sort_id"); MyPlateCommodityInfo uc = lstUc.FirstOrDefault(p => p.FPlateGroupId == plate_group_id && p.FPlateId == plate_id && p.FExchangeNo == exchange_no && p.FComodityNo == commodity_no); if (uc != null) { if (plate_group_name != uc.FPlateGroupName || plate_name != uc.FPlateName || uc.FPlateGroupId != group_sort_id || uc.FSortId != sort_id) { } else { lstUc.Remove(uc); } } else { //服务器没有的合约的时候把数据库删除 // commandParameters = commandParameters = new MySqlParameter[]{ //new MySqlParameter("@plate_group_id",plate_group_id),new MySqlParameter("@plate_id",plate_id), // new MySqlParameter("@exchange_no",exchange_no),new MySqlParameter("@commodity_no",commodity_no),new MySqlParameter("@commodity_type",type)}; // MySqlHelper.ExecuteNonQuery(MySqlHelper.ConnectionStringManager, CommandType.Text, sqldelcom.CommandText, commandParameters); } //将服务器的数据更新到数据库 } reader.Close(); reader.Dispose(); foreach (MyPlateCommodityInfo uc in lstUc) { insertPlateViewSQL(uc); } }