안녕하세요!!
제가 mssql DB를 Q&A게시판을 보고 연결을 했습니다.
그런데 문제가 한가지 생겨서요.
s*lect문을 날리면 DB에서 나오는 결과물이 하나라도 있으면 상관이 없는데
s*lect문을 날려서 결과(레코드)값이 0이면
"TypeError: 데이터의 끝 또는 시작부분을 지나서 스크롤하려고 했습니다"
라는 에러 문구가 뜨면서 에러가 나서 더이상 진행을 할 수가 없습니다ㅠ
예를 들어
var query = "buyPrice FROM LogData WHERE stockCode = 'A" + codeNum + "';
Main.MessageList("S*LECT query : ", query);
var s*lectFlag = D1.S*lect(query, "s*lectQuery");
금지어가 있어서 *처리했습니다.
이렇게 실행하면 레코드 값이 하나라도 있으면 에러가 안나고 결과값을 잘 가져오는데
레코드 값이 없으면 3번째 줄에서 위에 에러 메시지가 뜹니다ㅠ
s*lectFlag 값이 true를 반환하면 상관없는데 false를 반환할 경우 이 반환값을
아예 받을 수 없는것 같아요. 해결 방법좀 알려주세요.
그리고 ysdb파일을 생성하지 않으려면 s*lect구문에서 탭 이름을 지정해주지 않으면
생성이 안된다고 게시판에서 답변해 주신 글을 보았습니다.
var s*lectFlag = D1.S*lect(query, "");
var s*lectFlag = D1.S*lect(query);
이런 방식으로 해봤는데 레코드 값이 존재하더라도 s*lectFlag 값이 false를 반환해더라구요.
ysdb파일을 생성하지 않으려면 어떻게 해야 하는지도 알려주세요!!
그리고 한가지 더 질문이 있는데요.
예수금 관련 질문입니다. 당일 주식을 팔았을 경우 당일 판 금액까지 포함해서
토탈 금앨을 불러 올 수 있는지요?
A1.GetBalanceETCinfo(18); 이렇게 불러오면 당일 판 주식의 금액을 뺀 나머지
예수금을 불러오더라구요. 당일 주식을 판 금액도 당일 주식을 살 수 있잖아요.
예수금 + 당일 주식 판 금액 까지 불러와 현금으로 최대한 주식을 살수 있는 금액을
불러오는 방법을 알고 싶습니다!!
감사합니다~
답변 1
예스스탁
예스스탁 답변
2018-11-30 16:30:21
안녕하세요
예스스탁입니다.
1
S*lect문의 리턴값은 S*lect의 결과를 편집기로 전송했는지의 여부를 나타냅니다.
S*lect문의 결과값이 없을 때의 Exception 에 대한 해결법은 현재로서는 없습니다.
해당 부분은 별도로 프로그램 수정을 통해 가능한 방법이 있는지 찾아보도록 하겠습니다.
도옴을 드리지 못해 죄송합니다.
2
Account1.GetBalanceETCinfo(100)
순자산액(정산금액)이 제공되고 있습니다.
NH트레이더의 경우에는 계좌잔고의 순자산액, 예스트레이더는 정산금액으로
표시되는 값이 리턴됩니다.
즐거운 하루되세요
> 도도당 님이 쓴 글입니다.
> 제목 : DataBase 관련 질문 드립니다
> 안녕하세요!!
제가 mssql DB를 Q&A게시판을 보고 연결을 했습니다.
그런데 문제가 한가지 생겨서요.
s*lect문을 날리면 DB에서 나오는 결과물이 하나라도 있으면 상관이 없는데
s*lect문을 날려서 결과(레코드)값이 0이면
"TypeError: 데이터의 끝 또는 시작부분을 지나서 스크롤하려고 했습니다"
라는 에러 문구가 뜨면서 에러가 나서 더이상 진행을 할 수가 없습니다ㅠ
예를 들어
var query = "buyPrice FROM LogData WHERE stockCode = 'A" + codeNum + "';
Main.MessageList("S*LECT query : ", query);
var s*lectFlag = D1.S*lect(query, "s*lectQuery");
금지어가 있어서 *처리했습니다.
이렇게 실행하면 레코드 값이 하나라도 있으면 에러가 안나고 결과값을 잘 가져오는데
레코드 값이 없으면 3번째 줄에서 위에 에러 메시지가 뜹니다ㅠ
s*lectFlag 값이 true를 반환하면 상관없는데 false를 반환할 경우 이 반환값을
아예 받을 수 없는것 같아요. 해결 방법좀 알려주세요.
그리고 ysdb파일을 생성하지 않으려면 s*lect구문에서 탭 이름을 지정해주지 않으면
생성이 안된다고 게시판에서 답변해 주신 글을 보았습니다.
var s*lectFlag = D1.S*lect(query, "");
var s*lectFlag = D1.S*lect(query);
이런 방식으로 해봤는데 레코드 값이 존재하더라도 s*lectFlag 값이 false를 반환해더라구요.
ysdb파일을 생성하지 않으려면 어떻게 해야 하는지도 알려주세요!!
그리고 한가지 더 질문이 있는데요.
예수금 관련 질문입니다. 당일 주식을 팔았을 경우 당일 판 금액까지 포함해서
토탈 금앨을 불러 올 수 있는지요?
A1.GetBalanceETCinfo(18); 이렇게 불러오면 당일 판 주식의 금액을 뺀 나머지
예수금을 불러오더라구요. 당일 주식을 판 금액도 당일 주식을 살 수 있잖아요.
예수금 + 당일 주식 판 금액 까지 불러와 현금으로 최대한 주식을 살수 있는 금액을
불러오는 방법을 알고 싶습니다!!
감사합니다~