Ejemplo n.º 1
0
        public void insertThemeStockData(List <TB_STOCK> lst)
        {
            using (var conn = new NpgsqlConnection("host=localhost;username=postgres;password=pwd;database=postgres"))
            {
                try
                {
                    conn.Open();

                    for (int i = 0; i < lst.Count; i++)
                    {
                        TB_STOCK tmp = lst[i];
                        String   sql = @"CALL insert_tb_theme_stock(
@p_theme_cd
,@p_stock_cd
)";
                        using (var cmd = new NpgsqlCommand(sql, conn))
                        {
                            //cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.AddWithValue("@p_theme_cd", tmp.THEME_CD);
                            cmd.Parameters.AddWithValue("@p_stock_cd", tmp.STOCK_CD);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
                catch (Exception ex)
                {
                    //{ "42883: insert_tb_stock(p_market_cd => text, p_stock_cd => text, p_stock_nm => text, p_stock_dt => text, p_cnt => integer, p_last_price => text, p_stock_state => text, p_construction => text) 이름의 함수가 없음"}
                    //		Message	"42601: 구문 오류, 입력 끝부분"	string
                }
            }
        }
Ejemplo n.º 2
0
        public void insertMarketStockData(List <TB_STOCK> lst)
        {
            using (var conn = new NpgsqlConnection("host=localhost;username=postgres;password=pwd;database=postgres"))
            {
                try
                {
                    conn.Open();

                    for (int i = 0; i < lst.Count; i++)
                    {
                        TB_STOCK tmp = lst[i];

                        /*postgre sql에서 아래와 같이 호출하면 function 을 호출한다.
                         * https://www.npgsql.org/doc/basic-usage.html
                         */
                        /*
                         * using (var cmd = new NpgsqlCommand("insert_tb_stock", conn))
                         * {
                         * cmd.CommandType = CommandType.StoredProcedure;
                         * cmd.Parameters.AddWithValue("p_market_cd", tmp.MARKET_CD);
                         * cmd.Parameters.AddWithValue("p_stock_cd", tmp.STOCK_CD);
                         * cmd.Parameters.AddWithValue("p_stock_nm", tmp.STOCK_NM);
                         * cmd.Parameters.AddWithValue("p_stock_dt", tmp.STOCK_DT);
                         * cmd.Parameters.AddWithValue("p_cnt", tmp.CNT);
                         * cmd.Parameters.AddWithValue("p_last_price", tmp.LAST_PRICE);
                         * cmd.Parameters.AddWithValue("p_stock_state", tmp.STOCK_STATE);
                         * cmd.Parameters.AddWithValue("p_construction", tmp.CONSTRUCTION);
                         * cmd.ExecuteNonQuery();
                         * }*/
                        /*postgre sql에서 procedure는 11 버전부터 지원해서 아직 위 처럼 호출하는 방법은 없다.
                         * storedProcedure 부분을 지우고 call을 명시적으로 해준다.
                         *
                         * https://www.npgsql.org/doc/basic-usage.html
                         */
                        String sql = @"CALL insert_tb_market_stock(
@p_market_cd
,@p_stock_cd
,@p_stock_nm
,@p_stock_dt
,@p_stock_cnt
,@p_last_price
,@p_stock_state
,@p_construction
)";
                        using (var cmd = new NpgsqlCommand(sql, conn))
                        {
                            //cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.AddWithValue("@p_market_cd", tmp.MARKET_CD);
                            cmd.Parameters.AddWithValue("@p_stock_cd", tmp.STOCK_CD);
                            cmd.Parameters.AddWithValue("@p_stock_nm", tmp.STOCK_NM);
                            cmd.Parameters.AddWithValue("@p_stock_dt", tmp.STOCK_DT);
                            cmd.Parameters.AddWithValue("@p_stock_cnt", tmp.CNT);
                            cmd.Parameters.AddWithValue("@p_last_price", tmp.LAST_PRICE);
                            cmd.Parameters.AddWithValue("@p_stock_state", tmp.STOCK_STATE);
                            cmd.Parameters.AddWithValue("@p_construction", tmp.CONSTRUCTION);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
                catch (Exception ex)
                {
                    //{ "42883: insert_tb_stock(p_market_cd => text, p_stock_cd => text, p_stock_nm => text, p_stock_dt => text, p_cnt => integer, p_last_price => text, p_stock_state => text, p_construction => text) 이름의 함수가 없음"}
                    //		Message	"42601: 구문 오류, 입력 끝부분"	string
                    Console.WriteLine(ex.Message);
                }
            }
        }