コード例 #1
0
        public void loadData()
        {
            OdbcConnection conn = new OdbcConnection();

            conn.ConnectionString = DBConnSetting_.ConnectionStr;
            //DateTime referenceDate = Settings.evaluationDate();
            DateTime referenceDate = ReferenceDate_;

            try
            {
                OdbcCommand sqlCommand = new OdbcCommand();

                conn.Open();

                // ------------------------------------------ Vol & Dividend --------------------------------------------
                sqlCommand.CommandText = "select STD_DATE,STOCK_ID,OTHER_ID,CORR " +
                                         "from otc_td_mrelsstockcorr " +
                                         "where STD_DATE='" + referenceDate.ToString("yyyyMMdd") + "'";

                OdbcDataAdapter dataAdapter = new OdbcDataAdapter(sqlCommand.CommandText, conn);

                DataTable tb = new DataTable();
                dataAdapter.Fill(tb);

                using (SqlCeConnection connection = new SqlCeConnection("Data Source=D:\\Project File\\OTCDerivativesCalculatorModule\\Project_CSharp\\RiskMonitor\\Data\\MarketDataBase.sdf"))
                    using (SqlCeCommand command = connection.CreateCommand())
                    {
                        //command.CommandText = "INSERT INTO CORRELATION (DATE,   CODE_A,   NAME_A,   CODE_B,   NAME_B,   CORR,   TYPE,   VENDOR,  DESCRIPTION) " +
                        //                                       " VALUES (@pdate, @pcode_a, @pname_a ,@pcode_b, @pname_b, @pcorr, @ptype, @pvendor, @pdescription)" +
                        //                                       " WHERE DATE not in ( select DATE from CORRELATION where DATE='" + ReferenceDate_.ToString("yyyyMMdd") + "')";

                        connection.Open();

                        SqlCeCommand delCommand = connection.CreateCommand();
                        delCommand.CommandText = "DELETE FROM CORRELATION WHERE DATE ='" + ReferenceDate_.ToString("yyyyMMdd") + "'";

                        delCommand.ExecuteNonQuery();

                        command.CommandText = "INSERT INTO CORRELATION (DATE,   CODE_A,   NAME_A,   CODE_B,   NAME_B,   CORR,   TYPE,   VENDOR,  DESCRIPTION) " +
                                              " VALUES (@pdate, @pcode_a, @pname_a ,@pcode_b, @pname_b, @pcorr, @ptype, @pvendor, @pdescription)";

                        command.Parameters.Add("@pdate", SqlDbType.NVarChar);
                        command.Parameters.Add("@pcode_a", SqlDbType.NVarChar);
                        command.Parameters.Add("@pname_a", SqlDbType.NVarChar);
                        command.Parameters.Add("@pcode_b", SqlDbType.NVarChar);
                        command.Parameters.Add("@pname_b", SqlDbType.NVarChar);
                        command.Parameters.Add("@pcorr", SqlDbType.NVarChar);
                        command.Parameters.Add("@ptype", SqlDbType.NVarChar);
                        command.Parameters.Add("@pvendor", SqlDbType.NVarChar);
                        command.Parameters.Add("@pdescription", SqlDbType.NVarChar);



                        //command.ExecuteNonQuery();

                        foreach (DataRow item in tb.Rows)
                        {
                            string code_a = item["STOCK_ID"].ToString();
                            string code_b = item["OTHER_ID"].ToString();

                            if (code_a != code_b)
                            {
                                command.Parameters["@pdate"].Value        = item["STD_DATE"].ToString();
                                command.Parameters["@pcode_a"].Value      = code_a;
                                command.Parameters["@pname_a"].Value      = "null";
                                command.Parameters["@pcode_b"].Value      = code_b;
                                command.Parameters["@pname_b"].Value      = "null";
                                command.Parameters["@pcorr"].Value        = item["CORR"].ToString();
                                command.Parameters["@ptype"].Value        = "History";
                                command.Parameters["@pvendor"].Value      = "MRO";
                                command.Parameters["@pdescription"].Value = "This is test";

                                command.ExecuteNonQuery();
                            }
                        }
                    }

                conn.Close();
            }
            catch (OdbcException e)
            {
                conn.Close();
                OutputLogViewModel.addResult("DataBase Connection Error : MRO DB Load");
                throw;
            }
        }
コード例 #2
0
        public double corr(string itemCode1, string itemCode2)
        {
            double corrValue = 0.0;

            using (SqlCeConnection connection = new SqlCeConnection("Data Source=D:\\Project File\\OTCDerivativesCalculatorModule\\Project_CSharp\\RiskMonitor\\Data\\MarketDataBase.sdf"))
                using (SqlCeCommand command = connection.CreateCommand())
                {
                    command.CommandText = "SELECT DATE,CODE_A,CODE_B,CORR FROM CORRELATION WHERE DATE='" + ReferenceDate_.ToString("yyyyMMdd") +
                                          "' AND CODE_A = '" + itemCode1 + "' AND CODE_B = '" + itemCode2 + "'";

                    connection.Open();
                    SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(command.CommandText, connection);

                    DataTable tb = new DataTable();
                    dataAdapter.Fill(tb);
                    //string selectionStr = " DATE = '"++"' and CODE_A = '" + itemCode1 + "' and CODE_B = '" + itemCode2 + "'";
                    //DataRow[] results = tb.Select(selectionStr);

                    //tb.Select("

                    if (tb.Rows.Count == 1)
                    {
                        corrValue = Convert.ToDouble(tb.Rows[0]["CORR"].ToString());
                    }
                }

            return(corrValue);
        }