コード例 #1
0
        public void SaveAShareDescription(List <AShareDescription> lstSrc)
        {
            //try
            //{
            if (lstSrc == null || lstSrc.Count == 0)
            {
                return;
            }

            string sql = @"Select * 
                                From asharedescription 
                                Where 1=1 ";

            DataSet ds = _DBInstance.ExecuteSQL(sql);

            if (ds == null || ds.Tables.Count == 0)
            {
                return;
            }

            DataTable dt     = ds.Tables[0];
            DataRow   oRow   = null;
            DateTime  opDate = DateTime.Now;

            foreach (AShareDescription d in lstSrc)
            {
                DataRow[] oRows = dt.Select("s_info_windcode = '" + d.WindCode + "'");

                if (oRows.Length == 0)
                {
                    oRow = dt.NewRow();
                    oRow[AMarketDataAdapter.C_Col_WindCode] = d.WindCode;
                    //oRow[AMarketDataAdapter.C_Col_Opmode] = 0;  //与Wind不一样
                }
                else
                {
                    oRow = oRows[0];

                    //opmode=2 表示该行已经锁定修改,避免被改回错误值
                    if (checkLocker(oRow))
                    {
                        continue;
                    }

                    //oRow[AMarketDataAdapter.C_Col_Opmode] = 1;  //与Wind不一样
                }
                oRow[AMarketDataAdapter.C_Col_Opdate] = opDate;     //与Wind不一样

                oRow[AMarketDataAdapter.C_Col_Code]       = d.Code;
                oRow[AMarketDataAdapter.C_Col_Name]       = d.Name;
                oRow[AMarketDataAdapter.C_Col_ExchMarket] = d.Exchange.ToString();
                oRow[AMarketDataAdapter.C_Col_ListBoard]  = WindEnum.GetInstance().GetEnumTypeValue <ListedBoardType>((int)d.ListedBoard);
                oRow[AMarketDataAdapter.C_Col_ListDate]   = (d.ListDate == null) ? null : d.ListDate.Value.ToString("yyyyMMdd");
                oRow[AMarketDataAdapter.C_Col_DelistDate] = (d.DelistDate == null) ? null : d.DelistDate.Value.ToString("yyyyMMdd");

                if (oRows.Length == 0)
                {
                    dt.Rows.Add(oRow);
                }
            }

            _DBInstance.UpdateDB(sql, dt);
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
        }