이 새로운 접근 방식에 감사드립니다! 여러 가지 해결책을 시도해 보았지만 지금까지는 이 방법이 가장 좋은 것 같습니다. MQL 측에서 처리하고 반환해야하는 필드 수를 알 수 있도록 mysql_num_fields를 사용하여 SELECT 쿼리에 대한 필드 수를 반환하는 라이브러리를 약간 추가했습니다. 이 문제를 정리해 주셔서 다시 한 번 감사드립니다. 정말 도움이되었습니다!
MQL 코드:
int fields = MySqlNumFields(cursor);
for (int j=0; j<fields;j++)
{
data[j] = MySqlGetFieldAsString(cursor, j);
}
이 새로운 접근 방식에 감사드립니다! 여러 가지 해결책을 시도해 보았지만 지금까지는 이 방법이 가장 좋은 것 같습니다. MQL 측에서 처리하고 반환해야하는 필드 수를 알 수 있도록 mysql_num_fields를 사용하여 SELECT 쿼리에 대한 필드 수를 반환하는 라이브러리를 약간 추가했습니다. 이것을 정리해 주셔서 다시 한 번 감사드립니다. 정말 도움이되었습니다!!!
PropertyExpected TypeDescription Properties from Person The Global Location Number (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations. A count of a specific user interactions...
왜 ' MySqlGetFieldAsDouble(Cursor, 3);'이 데이터[i]에 값을 쓸 수 없는지 알고 싶어요?
Print("data[i]",data[3]);--항상 0.0을 표시합니다. 무슨 문제인가요? 감사합니다!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]); }
매 주기마다 배열을 정의하고 빈 배열 항목을 인쇄하려고 합니다.
이렇게 해보세요:
// 이 해결 방법 이전에 이미 행 수를 가져온 것 같습니다.double data[];
ArrayResize(data, Rows);
for (i=0; i<Rows; i++)
{
if (MySqlCursorFetchRow(Cursor))
{
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
}
}
// 여기에 "데이터" 배열이 채워집니다.Print("data[",3,"]",data[3]);
따라서 주기를 불러오기 전에 배열을 한 번 정의한 다음 크기를 조정하고 데이터를 가져오는 루틴을 작성해야 합니다.
참고로 MySqlGetFieldAsDouble(Cursor, 3); 의 숫자 3은 숫자가 0으로 시작하기 때문에 SELECT 목록의 네 번째 열을 의미합니다 (예 : SELECT Open, High, Low, Close FROM ...은 0 - Open, 1 - High, 2 - Low 및 3 - Close 를 의미합니다.
따라서 주기를 가져오기 전에 배열을 한 번 정의한 다음 크기를 조정하고 데이터를 가져오는 루틴을 작성해야 합니다.
참고로 MySqlGetFieldAsDouble(Cursor, 3); 의 숫자 3은 숫자가 0으로 시작하기 때문에 SELECT 목록의 네 번째 열을 의미합니다 (예 : SELECT Open, High, Low, Close FROM ...은 0 - Open, 1 - High, 2 - Low 및 3 - Close 를 의미합니다.
도움이 되었기를 바랍니다.
안부 전해주세요,
유진
감사합니다 도와주셔서 감사합니다 , 배열에 대한 내 문제를 해결했습니다。 당신은 실제로 mysql-mql에서 좋은 일을 했어요 ~!
이 새로운 접근 방식에 감사드립니다! 여러 가지 해결책을 시도해 보았지만 지금까지는 이 방법이 가장 좋은 것 같습니다. MQL 측에서 처리하고 반환해야하는 필드 수를 알 수 있도록 mysql_num_fields를 사용하여 SELECT 쿼리에 대한 필드 수를 반환하는 라이브러리를 약간 추가했습니다. 이 문제를 정리해 주셔서 다시 한 번 감사드립니다. 정말 도움이되었습니다!
MQL 코드:
이 새로운 접근 방식에 감사드립니다! 여러 가지 해결책을 시도해 보았지만 지금까지는 이 방법이 가장 좋은 것 같습니다. MQL 측에서 처리하고 반환해야하는 필드 수를 알 수 있도록 mysql_num_fields를 사용하여 SELECT 쿼리에 대한 필드 수를 반환하는 라이브러리를 약간 추가했습니다. 이것을 정리해 주셔서 다시 한 번 감사드립니다. 정말 도움이되었습니다!!!
친절한 말씀 감사합니다. 기본 솔루션이며 실제로 사용하고있는 일반적인 기능을 유지합니다.
이 솔루션을 개발하는 동안 다음 규칙을 사용했습니다 : 견고성, 공부하기 쉬움, 간단한 사용 및 최소한의 지원.
물론 이 프로젝트를 변경하고 프로젝트에 필요한 기능을 추가할 수도 있습니다.
행운을 빕니다,
Eugene
안녕하세요, 친구 여러분,
이 솔루션이 마음에 드시고 실제 프로젝트에 사용해 보신다면 (재미로만 사용하는 것이 아니라) 업데이트가 있습니다.
MS SQL 서버, MS 액세스, 오라클, IBM DB / 2, PostgreSQL과 같은 다양한 데이터베이스 작업에 대한 새로운 기사를 작성하기 시작했습니다.
이 글처럼 강력하고 사용하기 쉬운 글을 쓰고 싶지만 시간이 없어서 아직 완성하지 못했습니다.
따라서 이 프로젝트를 지원하고 싶으시면 페이팔로 몇 달러를 보내 주시면 됩니다: e.a.lugovoy@gmail.com
금액은 중요하지 않으며, 이러한 결정이 정말 완료되어야하는지 알고 싶습니다.
모두 감사합니다,
Eugene
안녕하세요, 유지니루고보이~!
왜 ' MySqlGetFieldAsDouble(Cursor, 3);'이 데이터[i]에 값을 쓸 수 없는지 알고싶어요?
Print("data[i]",data[3]);--항상 0.0을 표시합니다. 무슨 문제인가요? 감사합니다!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
안녕하세요, 친구 여러분,
이 솔루션이 마음에 드시고 실제 프로젝트에 사용해 보신다면 (재미로만 사용하는 것이 아니라) 업데이트가 있습니다.
MS SQL 서버, MS 액세스, 오라클, IBM DB / 2, PostgreSQL과 같은 다양한 데이터베이스 작업에 대한 새로운 기사를 작성하기 시작했습니다.
이 글처럼 강력하고 사용하기 쉬운 글을 쓰고 싶지만 시간이 없어서 아직 완성하지 못했습니다.
따라서 이 프로젝트를 지원하고 싶으시면 페이팔로 몇 달러를 보내 주시면 됩니다: e.a.lugovoy@gmail.com
금액은 중요하지 않으며, 이러한 결정이 정말 완료되어야하는지 알고 싶습니다.
모두 감사합니다,
Eugene
안녕하세요, 유지니루고보이~!
왜 ' MySqlGetFieldAsDouble(Cursor, 3);'이 데이터[i]에 값을 쓸 수 없는지 알고 싶어요?
Print("data[i]",data[3]);--항상 0.0을 표시합니다. 무슨 문제인가요? 감사합니다!
for (i=0; i<Rows; i++)
if (MySqlCursorFetchRow(Cursor))
{
double data[] ;
ArrayResize(data,Rows);
data[i]= MySqlGetFieldAsDouble(Cursor, 3);
Print("data[i]",data[3]);
}
매 주기마다 배열을 정의하고 빈 배열 항목을 인쇄하려고 합니다.
이렇게 해보세요:
따라서 주기를 불러오기 전에 배열을 한 번 정의한 다음 크기를 조정하고 데이터를 가져오는 루틴을 작성해야 합니다.
참고로 MySqlGetFieldAsDouble(Cursor, 3); 의 숫자 3은 숫자가 0으로 시작하기 때문에 SELECT 목록의 네 번째 열을 의미합니다 (예 : SELECT Open, High, Low, Close FROM ...은 0 - Open, 1 - High, 2 - Low 및 3 - Close 를 의미합니다.
도움이 되었기를 바랍니다.
안부 전해주세요,
Eugene
매 사이클마다 배열을 정의하고 빈 배열 항목을 인쇄하려고 합니다.
이렇게 해보세요:
따라서 주기를 가져오기 전에 배열을 한 번 정의한 다음 크기를 조정하고 데이터를 가져오는 루틴을 작성해야 합니다.
참고로 MySqlGetFieldAsDouble(Cursor, 3); 의 숫자 3은 숫자가 0으로 시작하기 때문에 SELECT 목록의 네 번째 열을 의미합니다 (예 : SELECT Open, High, Low, Close FROM ...은 0 - Open, 1 - High, 2 - Low 및 3 - Close 를 의미합니다.
도움이 되었기를 바랍니다.
안부 전해주세요,
유진
감사합니다 도와 주셔서 감사합니다 , 배열에 대한 내 문제를 해결했습니다。 당신은 실제로 mysql-mql에서 좋은 일을 했어요 ~!
안녕하세요 엘루고보이
멋진 기사와 훌륭한 라이브러리입니다.
MT5에서 예제를 사용하려고하는데이 오류가 발생합니다:
2014.12.15 15:44:16.387 MySQL-001 'C:\사용자\....\앱데이터\로밍\MetaQuotes\터미널\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64비트 버전이 아닙니다.
32비트 환경에서 MT5를 실행하고 계신가요?
도와주시겠어요?
정말 감사합니다!
카민 마론.
안녕하세요 엘루고보이
멋진 기사와 훌륭한 라이브러리입니다.
MT5에서 예제를 사용하려고하는데이 오류가 발생합니다:
2014.12.15 15:44:16.387 MySQL-001 'C:\사용자\....\앱데이터\로밍\MetaQuotes\터미널\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\libraries\MQLMySQL.dll' 64비트 버전이 아닙니다.
32비트 환경에서 MT5를 실행하고 계신가요?
도와주시겠어요?
정말 감사합니다!
카민 마론
안녕하세요 카마인
위의 토론에서 x64 용 프로젝트를 첨부 했으므로이 게시물에서 보거나 다운로드하십시오.
이것이 도움이 되었기를 바랍니다.
Regards,
Eugene