[프로젝트 예제]데이터수집 예제 입니다.
-
- 첨부파일 : eRunDemoDB.zip (11.6M) - 다운로드
본문
eRun 과 DB 간의 연결 방법에 대한 예제 입니다.
DB : MS-ACCESS , Maria DB
ODBC : Heidi SQL (Maria DB)
* Maria DB 연결 방법
* eRun 데이터베이스 설정 창 입니다. 위 이미지 참고하여 설정 합니다.
Driver = ODBC Driver 을 설치 후 버전에 맞게 설정 합니다.
Database (MariaDB) 는 MariaDB의 데이터베이스 이름을 작성합니다.
User, Password 는 Maria DB 에 사용자,Password 를 설정합니다.
*ODBC Heidi SQL 설정 창 입니다. 위 이미지 참고하여 설정 합니다.
Heidi SQL를 사용하여 Maria DB를 오픈 합니다.
호스트명/IP = eRun에서 설정한 Server IP 와 동일하게 설정 합니다.
사용자, 암호 = eRun에서 설정한 User , Password 와 동일하게 설정 합니다.
* Heidi SQL DB 화면 입니다. 위 이미지 참고하여 설정 합니다.
DB Database를 생성할 때 eRun의 ' Database = ' 와 동일하게 설정합니다.
* Heidi SQL 에서 설정을 다한 후 eRun으로 돌아와 데이터베이스 설정 창에서 연결시험을 눌러 테스트를 진행할 수 있습니다.
연결 시험이 성공하였습니다. 메세지가 뜬다면 eRun과 Maria DB 간의 연결이 성공하였습니다.
* ACCESS DB
* eRun 데이터베이스 설정창 입니다. 위 이미지 참고하여 설정 합니다.
eRun 데이터베이스 설정창에서 MS-ACCESS 데이터 베이스를 생성할 수 있습니다.
*eRun 데이터베이스 설정창에서 테이블 편집 버튼을 클릭하면 위 이미지에 보이는 창이 나옵니다.
위 창에서 데이터베이스 테이블 편집이 가능합니다. 또는 생성 경로를 찾아가 MS-ACCESS 에서 직접 편집이 가능합니다.
*Maria DB eRun 스크립트 예제
1. eRun 에서 DB로 데이터를 저장,수정,삭제
2. DB에 있는 데이터 리스트 컨트롤에 표시하고, 어느 조건에 따라 리스트 컨트롤 글씨 색 변경.
3. 리스트 컨트롤에 표시된 데이터 CSV파일로 저장하기
1. 데이터 DB 저장, 수정, 삭제
// 데이터 DB 저장
void Insert_DB()
{
string strSQL, sLogText, strKey;
int nRet, nRow, nNum, nNumRes;
nNum = _Rand() % 100;
nNumRes = _Rand() % 2;
// DB 데이터 저장 SQL문
strSQL = _FormatString("Insert into DemoLog Values ( %d, %d,'%s')",nNum, nNumRes ,_TimeToString("%y/%m/%d %H:%M:%S"));
sLogText = _FormatString("%s",strSQL);
WriteLog(sLogText);
strKey ="K1";
nRet = _SQLOpen(strKey,"DEMO_DB");
if ( 1 > nRet )
{
sLogText = _FormatString("SQL_OPEN(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
return;
}
nRet = _SQLRun(strKey, strSQL);
if ( 1 > nRet )
{
sLogText = _FormatString("_SQLRun Failed(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
}
_SQLClose(strKey);
DBTOListControl();
if(@DB.InserFlag == 0) @Main.BtnPlag = 0;
}
// DB 데이터 수정
void Update_DB()
{
string strSQL, sLogText, strKey,strObject;
int nRet;
strObject = "LOG_LC@Main";
// DB 데이터 수정 SQL문
strSQL = "Update demolog SET Data = 20 where Data < 20 ";
sLogText = _FormatString("%s",strSQL);
WriteLog(sLogText);
strKey ="K2";
nRet = _SQLOpen(strKey,"DEMO_DB");
if ( 1 > nRet )
{
sLogText = _FormatString("SQL_OPEN(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
return;
}
nRet = _SQLRun(strKey, strSQL);
if ( 1 > nRet )
{
sLogText = _FormatString("_SQLRun Failed(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
}
_SQLClose(strKey);
@Main.BtnPlag = 0;
DBTOListControl();
}
* Data 의 값이 20 미만인 경우 20으로 수정 합니다.
// DB 데이터 삭제
void Delete_DB()
{
string strSQL, sLogText, strKey,strObject;
int nRet;
// DB 데이터 수정 SQL문
strSQL = "delete from demolog Data where Data = 20 ";
strObject = "LOG_LC@Main";
sLogText = _FormatString("%s",strSQL);
WriteLog(sLogText);
strKey ="K3";
nRet = _SQLOpen(strKey,"DEMO_DB");
if ( 1 > nRet )
{
sLogText = _FormatString("SQL_OPEN(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
return;
}
nRet = _SQLRun(strKey, strSQL);
if ( 1 > nRet )
{
sLogText = _FormatString("_SQLRun Failed(%s) Error!!!", strKey);
WriteLog(sLogText);
WriteLog(_SQLMsg(strKey));
}
_SQLClose(strKey);
@Main.BtnPlag = 0;
DBTOListControl();
}
* Data 의 값이 20 인 경우 삭제 합니다.
2. DB에 있는 데이터 리스트 컨트롤에 표시하고, 어느 조건에 따라 리스트 컨트롤 글씨 색 변경.
// DB 데이터 리스트 컨트롤에 표시
void DBTOListControl()
{
string strSQL, sLogText, strKey;
string strObject, strListSQL,LogText;
int nRet,nRow;
strSQL = "SELECT DATA, CASE when Data_Res = 0 then 'OK'\
when Data_Res = 1 then 'NG' END AS Result,\
DataTime FROM demolog order by dataTime DESC ";
sLogText = _FormatString("%s",strSQL);
WriteLog(sLogText);
nRet = _SQLOpen("Key02","DEMO_DB");
if ( 1 > nRet )
{
sLogText = _FormatString("SQL_OPEN(%s) Error!!!", "Key02");
WriteLog(sLogText);
return;
}
nRet = _SQLQuery("Key02","LOG_LC@Main",strSQL);
if ( 1 > nRet )
{
sLogText = _FormatString("_SQLRun Failed(%s) Error!!!", "Key02");
WriteLog(sLogText);
WriteLog(_SQLMsg("Key02"));
}
_SQLClose("Key02");
ListCL_NG_Color();
}


댓글목록 0