Beispiel #1
0
 private string SqlStringConcat(CTASPWordDefine DataUnit)
 {
     return("(\""
            + DataUnit.contractid + "\",\" " + DataUnit.contractname + "\",\"" + DataUnit.tdatetime + "\"," + DataUnit.lastpx
            + "," + DataUnit.highpx + "," + DataUnit.lowpx + "," + DataUnit.cq + "," + DataUnit.tq + "," + DataUnit.lastqty
            + "," + DataUnit.initopenints + "," + DataUnit.openints + "," + DataUnit.intschg + "," + DataUnit.turnover
            + "," + DataUnit.riselimit + "," + DataUnit.falllimit + "," + DataUnit.presettle + "," + DataUnit.preclose
            + "," + DataUnit.s1 + "," + DataUnit.b1 + "," + DataUnit.sv1 + "," + DataUnit.bv1 + "," + DataUnit.openpx
            + "," + DataUnit.closepx + "," + DataUnit.settlementpx + ",\"" + DataUnit.mflxid + "\"," + DataUnit.s5 + "," + DataUnit.s4
            + "," + DataUnit.s3 + "," + DataUnit.s2 + "," + DataUnit.b2 + "," + DataUnit.b3 + "," + DataUnit.b4 + "," + DataUnit.b5
            + "," + DataUnit.sv5 + "," + DataUnit.sv4 + "," + DataUnit.sv3 + "," + DataUnit.sv2 + "," + DataUnit.bv2
            + "," + DataUnit.bv3 + "," + DataUnit.bv4 + "," + DataUnit.bv5 + "," + DataUnit.predelta + "," + DataUnit.currdelta
            + "," + DataUnit.chg + "," + DataUnit.chgpct + ")");
 }
Beispiel #2
0
        private string SqlStringConcat(CTASPWordDefine DataUnit, string tableName)
        {
            string ResStr = "INSERT INTO " + tableName
                            + "(contractid,contractname,tdatetime,lastpx,highpx,lowpx ,cq,tq,lastqty,initopenints,openints,intschg "
                            + ",turnover ,riselimit,falllimit,presettle,preclose,s1,b1,sv1,bv1,openpx,closepx,settlementpx,mflxid,"
                            + "s5,s4,s3,s2,b2,b3,b4,b5,sv5,sv4,sv3,sv2,bv2,bv3,bv4,bv5,predelta,currdelta,chg,chgpct)values(\""
                            + DataUnit.contractid + "\",\" " + DataUnit.contractname + "\",\"" + DataUnit.tdatetime + "\"," + DataUnit.lastpx
                            + "," + DataUnit.highpx + "," + DataUnit.lowpx + "," + DataUnit.cq + "," + DataUnit.tq + "," + DataUnit.lastqty
                            + "," + DataUnit.initopenints + "," + DataUnit.openints + "," + DataUnit.intschg + "," + DataUnit.turnover
                            + "," + DataUnit.riselimit + "," + DataUnit.falllimit + "," + DataUnit.presettle + "," + DataUnit.preclose
                            + "," + DataUnit.s1 + "," + DataUnit.b1 + "," + DataUnit.sv1 + "," + DataUnit.bv1 + "," + DataUnit.openpx
                            + "," + DataUnit.closepx + "," + DataUnit.settlementpx + ",\"" + DataUnit.mflxid + "\"," + DataUnit.s5 + "," + DataUnit.s4
                            + "," + DataUnit.s3 + "," + DataUnit.s2 + "," + DataUnit.b2 + "," + DataUnit.b3 + "," + DataUnit.b4 + "," + DataUnit.b5
                            + "," + DataUnit.sv5 + "," + DataUnit.sv4 + "," + DataUnit.sv3 + "," + DataUnit.sv2 + "," + DataUnit.bv2
                            + "," + DataUnit.bv3 + "," + DataUnit.bv4 + "," + DataUnit.bv5 + "," + DataUnit.predelta + "," + DataUnit.currdelta
                            + "," + DataUnit.chg + "," + DataUnit.chgpct + ")";

            //Console.WriteLine("ResStr is: " + ResStr);
            return(ResStr);
        }
Beispiel #3
0
        private void DataProcessFunc(FileInfo file, string fName, string dirName)
        {
            FileStream   fs = file.Open(FileMode.Open, FileAccess.Read);
            StreamReader sr = new StreamReader(fs, Encoding.UTF8);

            string tableName = "CTA_HSFT_" + fName.Substring(0, 11 + dirName.Count()).ToUpper() + "_TBL";

            Console.WriteLine("Table Name is: " + tableName);
            TableProcess(tableName);

            Console.WriteLine("--------");
            Console.WriteLine("开始导入该文件的数据:" + file.FullName);
            Console.WriteLine("--------");
            List <string> querys = new List <string>();
            string        line   = null;

            int    count = 0;
            string query = InitSqlString(tableName);

            while ((line = sr.ReadLine()) != null)
            {
                line = line.Replace("None", "null");

                string[] tmpList = line.Split(',');
                if (tmpList.Length != 55)
                {
                    //Guid guid = Guid.NewGuid();
                    //Log.AppendAllLines(this.columnErrLogDir + "Log" + guid.ToString() + @".txt", new string[5] { "-----------------------------------", "Time: " + DateTime.Now.ToString(),"文件:"+file.FullName, "出错数据:" + line, "-----------------------------------" });
                    continue;
                }

                CTASPWordDefine DataUnit = new CTASPWordDefine();

                DataUnit.contractid = tmpList[0];
                // 合约代码
                DataUnit.contractname = tmpList[1];
                // 合约名称
                DataUnit.tdatetime = tmpList[2];
                // 日期时间
                DataUnit.lastpx = tmpList[3];
                // 最新价
                DataUnit.highpx = tmpList[4];
                // 最高价
                DataUnit.lowpx = tmpList[5];
                // 最低价
                DataUnit.cq = tmpList[6];
                // 瞬时成交量
                DataUnit.tq = tmpList[7];
                // 累计成交量
                DataUnit.lastqty = tmpList[8];
                // 最新成交量
                DataUnit.initopenints = tmpList[9];
                // 初始持仓量
                DataUnit.openints = tmpList[10];
                // 持仓量
                DataUnit.intschg = tmpList[11];
                // 持仓量变化
                DataUnit.turnover = tmpList[12];
                // 成交额
                DataUnit.riselimit = tmpList[13];
                // 涨停板
                DataUnit.falllimit = tmpList[14];
                // 跌停板
                DataUnit.presettle = tmpList[15];
                // 昨结算
                DataUnit.preclose = tmpList[16];
                // 昨收盘
                DataUnit.s1 = tmpList[17];
                // 卖一
                DataUnit.b1 = tmpList[18];
                // 买一
                DataUnit.sv1 = tmpList[19];
                // 卖量一
                DataUnit.bv1 = tmpList[20];
                // 买量一
                DataUnit.openpx = tmpList[21];
                // 开盘价
                DataUnit.closepx = tmpList[22];
                // 收盘价
                DataUnit.settlementpx = tmpList[23];
                // 结算价
                DataUnit.lifelow = tmpList[24];
                // 历史最低价
                DataUnit.lifehigh = tmpList[25];
                // 历史最高价
                DataUnit.avgpx = tmpList[26];
                // 当日均价
                DataUnit.bidimplyqty = tmpList[27];
                // 申买推导量
                DataUnit.askimplyqty = tmpList[28];
                // 申卖推导量
                DataUnit.side = tmpList[29];
                // 买卖方向
                DataUnit.mflxid = tmpList[30];
                // 连续合约代码
                DataUnit.s5 = tmpList[31];
                // 卖五
                DataUnit.s4 = tmpList[32];
                // 卖四
                DataUnit.s3 = tmpList[33];
                // 卖三
                DataUnit.s2 = tmpList[34];
                // 卖二
                DataUnit.b2 = tmpList[35];
                // 买二
                DataUnit.b3 = tmpList[36];
                // 买三
                DataUnit.b4 = tmpList[37];
                // 买四
                DataUnit.b5 = tmpList[38];
                // 买五
                DataUnit.sv5 = tmpList[39];
                // 卖量五
                DataUnit.sv4 = tmpList[40];
                // 卖量四
                DataUnit.sv3 = tmpList[41];
                // 卖量三
                DataUnit.sv2 = tmpList[42];
                // 卖量二
                DataUnit.bv2 = tmpList[43];
                // 买量二
                DataUnit.bv3 = tmpList[44];
                // 买量三
                DataUnit.bv4 = tmpList[45];
                // 买量四
                DataUnit.bv5 = tmpList[46];
                // 买量五
                DataUnit.predelta = tmpList[47];
                // 昨虚实度
                DataUnit.currdelta = tmpList[48];
                // 今虚实度
                DataUnit.localtime = tmpList[49];
                // 本地时间
                DataUnit.market = tmpList[50];
                // 交易所
                DataUnit.chg = tmpList[51];
                // 涨跌
                DataUnit.chgpct = tmpList[52];
                // 涨跌幅
                DataUnit.varieties = tmpList[53];
                // 品种
                DataUnit.unix = 0;
                // 时间戳

                if (++count >= 200)
                {
                    query += SqlStringConcat(DataUnit);
                    querys.Add(query);
                    query = InitSqlString(tableName);
                    count = 0;
                }
                else
                {
                    query += SqlStringConcat(DataUnit) + ",";
                }

                //string excutSql = SqlStringConcat(DataUnit, tableName);
                //querys.Add(excutSql);
                //this.conn.executeSqlNoPrm(excutSql);
            }

            if (count != 0)
            {
                query = query.TrimEnd(',');
                querys.Add(query);
            }

            BatchInsert_MySql bm = new BatchInsert_MySql(this.connStr);

            bm.ExecuteSqlTran(querys);
            Console.WriteLine("-------------");
            Console.WriteLine("导入完成:" + file.FullName);
            Log.AppendAllLines(this.fileFinishRecordPath, new string[4] {
                "-----------------------------------", "Time: " + DateTime.Now.ToString(), "导入完成:" + file.FullName, "-----------------------------------"
            });
            ++numFilesFinish;
            Console.WriteLine("导入进度:" + ((double)numFilesFinish / (double)numAllFiles) * 100 + "%");
            Console.WriteLine("-------------");
        }