public void insertChejanBalance(TB_CHEJAN_BALANCE tmp) { using (var conn = new NpgsqlConnection(Config.GetDbConnStr())) { try { conn.Open(); String sql = @" insert into tb_chejan_balance ( acct_num , stock_cd , curr_amt , possession_qty , purchase_amt , tot_purchase_amt , order_possible_qty , today_net_buy_qty , order_type , today_sell_profit_loss , deposit , offered_amt , bid_amt , yesterday_amt , profit_loss_rt , credit_amt , credit_interest , today_profit_loss_amt , today_profit_loss_rt , credit_today_profit_loss_amt , credit_today_profit_loss_rt , loan_qty , loan_dt , credit_gubun , crt_dtm ) values ( @p_acct_num , @p_stock_cd , @p_curr_amt , @p_possession_qty , @p_purchase_amt , @p_tot_purchase_amt , @p_order_possible_qty , @p_today_net_buy_qty , @p_order_type , @p_today_sell_profit_loss , @p_deposit , @p_offered_amt , @p_bid_amt , @p_yesterday_amt , @p_profit_loss_rt , @p_credit_amt , @p_credit_interest , @p_today_profit_loss_amt , @p_today_profit_loss_rt , @p_credit_today_profit_loss_amt , @p_credit_today_profit_loss_rt , @p_loan_qty , @p_loan_dt , @p_credit_gubun , now() )" ; using (var cmd = new NpgsqlCommand(sql, conn)) { //cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@p_acct_num", NpgsqlTypes.NpgsqlDbType.Text, tmp.acct_num); cmd.Parameters.AddWithValue("@p_stock_cd", NpgsqlTypes.NpgsqlDbType.Text, tmp.stock_cd); cmd.Parameters.AddWithValue("@p_curr_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.curr_amt); cmd.Parameters.AddWithValue("@p_possession_qty", NpgsqlTypes.NpgsqlDbType.Integer, tmp.curr_amt); cmd.Parameters.AddWithValue("@p_purchase_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.purchase_amt); cmd.Parameters.AddWithValue("@p_tot_purchase_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.tot_purchase_amt); cmd.Parameters.AddWithValue("@p_order_possible_qty", NpgsqlTypes.NpgsqlDbType.Integer, tmp.order_possible_qty); cmd.Parameters.AddWithValue("@p_today_net_buy_qty", NpgsqlTypes.NpgsqlDbType.Integer, tmp.today_net_buy_qty); cmd.Parameters.AddWithValue("@p_order_type", NpgsqlTypes.NpgsqlDbType.Integer, tmp.order_type); cmd.Parameters.AddWithValue("@p_today_sell_profit_loss", NpgsqlTypes.NpgsqlDbType.Integer, tmp.today_sell_profit_loss); cmd.Parameters.AddWithValue("@p_deposit", NpgsqlTypes.NpgsqlDbType.Integer, tmp.deposit); cmd.Parameters.AddWithValue("@p_offered_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.offered_amt); cmd.Parameters.AddWithValue("@p_bid_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.bid_amt); cmd.Parameters.AddWithValue("@p_yesterday_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.yesterday_amt); cmd.Parameters.AddWithValue("@p_profit_loss_rt", NpgsqlTypes.NpgsqlDbType.Real, tmp.profit_loss_rt); cmd.Parameters.AddWithValue("@p_credit_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.credit_amt); cmd.Parameters.AddWithValue("@p_credit_interest", NpgsqlTypes.NpgsqlDbType.Real, tmp.credit_interest); cmd.Parameters.AddWithValue("@p_today_profit_loss_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.today_profit_loss_amt); cmd.Parameters.AddWithValue("@p_today_profit_loss_rt", NpgsqlTypes.NpgsqlDbType.Real, tmp.today_profit_loss_rt); cmd.Parameters.AddWithValue("@p_credit_today_profit_loss_amt", NpgsqlTypes.NpgsqlDbType.Integer, tmp.credit_today_profit_loss_amt); cmd.Parameters.AddWithValue("@p_credit_today_profit_loss_rt", NpgsqlTypes.NpgsqlDbType.Real, tmp.credit_today_profit_loss_rt); cmd.Parameters.AddWithValue("@p_loan_qty", NpgsqlTypes.NpgsqlDbType.Integer, tmp.loan_qty); cmd.Parameters.AddWithValue("@p_loan_dt", NpgsqlTypes.NpgsqlDbType.Text, tmp.loan_dt); cmd.Parameters.AddWithValue("@p_credit_gubun", NpgsqlTypes.NpgsqlDbType.Text, tmp.credit_gubun); cmd.ExecuteNonQuery(); } } catch (Exception ex) { FileLog.PrintF("[insertChejanBalance]Exception ex=" + ex.Message); //{ "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 } } }
public override void ReceivedData(AxKHOpenAPI axKHOpenAPI, _DKHOpenAPIEvents_OnReceiveChejanDataEvent e) { FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 구분 : 잔고통보"); //FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문/기록시간=>" + axKHOpenAPI.GetChejanData(908)); //시간이 없음 FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 계좌번호=>" + axKHOpenAPI.GetChejanData(9201)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 종목코드, 업종코드=>" + axKHOpenAPI.GetChejanData(9001)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 현재가, 체결가, 실시간종가=>" + axKHOpenAPI.GetChejanData(10)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용구분=>" + axKHOpenAPI.GetChejanData(917)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 대출일=>" + axKHOpenAPI.GetChejanData(916)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 보유수량=>" + axKHOpenAPI.GetChejanData(930)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매입단가=>" + axKHOpenAPI.GetChejanData(931)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 총매입가=>" + axKHOpenAPI.GetChejanData(932)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 주문가능수량=>" + axKHOpenAPI.GetChejanData(933)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일순매수량=>" + axKHOpenAPI.GetChejanData(945)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 매도 / 매수구분=>" + axKHOpenAPI.GetChejanData(946)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일 총 매도 손익=>" + axKHOpenAPI.GetChejanData(950)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 예수금=>" + axKHOpenAPI.GetChejanData(951)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매도호가=>" + axKHOpenAPI.GetChejanData(27)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData (최우선)매수호가=>" + axKHOpenAPI.GetChejanData(28)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 기준가=>" + axKHOpenAPI.GetChejanData(307)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 손익율=>" + axKHOpenAPI.GetChejanData(8019)); /*추가-살아있다.*/ FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용금액=>" + axKHOpenAPI.GetChejanData(957)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 신용이자=>" + axKHOpenAPI.GetChejanData(958)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 만기일=>" + axKHOpenAPI.GetChejanData(918)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익(유가)=>" + axKHOpenAPI.GetChejanData(990)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익률(유가) =>" + axKHOpenAPI.GetChejanData(991)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익(신용) =>" + axKHOpenAPI.GetChejanData(992)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 당일실현손익률(신용) =>" + axKHOpenAPI.GetChejanData(993)); FileLog.PrintF("axKHOpenAPI_OnReceiveChejanData 담보대출수량 =>" + axKHOpenAPI.GetChejanData(959)); TB_CHEJAN_BALANCE balance_Data = new TB_CHEJAN_BALANCE(); String dayTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); balance_Data.acct_num = axKHOpenAPI.GetChejanData(9201).ToString().Trim(); //[1] balance_Data.stock_cd = axKHOpenAPI.GetChejanData(9001).ToString().Trim(); //[2] balance_Data.curr_amt = int.Parse(axKHOpenAPI.GetChejanData(10).ToString().Trim()); //[3] balance_Data.loan_dt = axKHOpenAPI.GetChejanData(916).ToString().Trim(); //[3] balance_Data.credit_gubun = axKHOpenAPI.GetChejanData(917).ToString().Trim(); //[3] balance_Data.possession_qty = int.Parse(axKHOpenAPI.GetChejanData(930).ToString().Trim()); //[4] balance_Data.purchase_amt = int.Parse(axKHOpenAPI.GetChejanData(931).ToString().Trim()); //[5] balance_Data.tot_purchase_amt = int.Parse(axKHOpenAPI.GetChejanData(932).ToString().Trim()); //[6] balance_Data.order_possible_qty = int.Parse(axKHOpenAPI.GetChejanData(933).ToString().Trim()); //[7] balance_Data.today_net_buy_qty = int.Parse(axKHOpenAPI.GetChejanData(945).ToString().Trim()); //[8] balance_Data.order_type = int.Parse(axKHOpenAPI.GetChejanData(946).ToString().Trim()); //[9] balance_Data.today_sell_profit_loss = int.Parse(axKHOpenAPI.GetChejanData(950).ToString().Trim()); //[10] balance_Data.deposit = int.Parse(axKHOpenAPI.GetChejanData(951).ToString().Trim()); //[11] balance_Data.offered_amt = int.Parse(axKHOpenAPI.GetChejanData(27).ToString().Trim()); //[12] balance_Data.bid_amt = int.Parse(axKHOpenAPI.GetChejanData(28).ToString().Trim()); //[13] balance_Data.yesterday_amt = int.Parse(axKHOpenAPI.GetChejanData(307).ToString().Trim()); //[14] balance_Data.profit_loss_rt = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim()); //[15] balance_Data.profit_loss_rt = float.Parse(axKHOpenAPI.GetChejanData(8019).ToString().Trim()); //[15] balance_Data.credit_gubun = axKHOpenAPI.GetChejanData(917); //[15] balance_Data.loan_dt = axKHOpenAPI.GetChejanData(916); //[15] balance_Data.loan_qty = int.Parse(axKHOpenAPI.GetChejanData(959)); //[15] balance_Data.credit_amt = int.Parse(axKHOpenAPI.GetChejanData(957)); //[15] balance_Data.credit_interest = float.Parse(axKHOpenAPI.GetChejanData(958)); //[15] balance_Data.expiry_dt = axKHOpenAPI.GetChejanData(918); //[15] balance_Data.today_profit_loss_amt = int.Parse(axKHOpenAPI.GetChejanData(990)); //[15] balance_Data.today_profit_loss_rt = float.Parse(axKHOpenAPI.GetChejanData(991)); //[15] balance_Data.credit_today_profit_loss_amt = int.Parse(axKHOpenAPI.GetChejanData(992)); //[15] balance_Data.credit_today_profit_loss_rt = float.Parse(axKHOpenAPI.GetChejanData(993)); //[15] ChejanData chejanData = new ChejanData(); chejanData.insertChejanBalance(balance_Data); }