コード例 #1
0
        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() + " 产品更新失败");
            }
        }
コード例 #2
0
        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);
            }
        }