[프로젝트 예제]RECIPE 사용 예제 입니다.
-
- 첨부파일 : eRunDemoRecipe.zip (11.7M) - 다운로드
본문
eRun의 레시피 사용 예제 입니다.
DB : MS-ACCESS
* 레시피 테이블 추가 예제 입니다.
* eRun 데이터 베이스 설정 창에서 MS-ACCESS 데이터 베이스를 생성합니다.
* 데이터 베이스를 생성한 후 eRun 스크립트를 사용하여 레시피 테이블을 생성합니다.
* eRun 스크립트
// 레시피 테이블을 생성합니다.
// MAIN 뷰 페이지에 RECIPE : #n 를 입력하면 DemoRecipeTable_#n의 테이블이 생성 됩니다.
void RecipeCreate()
{
string strObject, strSQL, strRev, strNameSQL;
int nRet, nMsg;
nRet = 0;
// RECIPE DB OPEN
_SQLOpen("K_TableAdd_RCP", "Demo_Recipe");
// DemoRecipeTable_#n의 컬럼을 사용자 지정으로 추가할 수 있습니다.
// 현재 코드에서 추가 시 리스트 컨트롤 및 INSERT,UPDATE,SELECT,DELECT 쿼리문에 해당 파라미터를 추가해야 사용 가능합니다.
strSQL = _FormatString("CREATE TABLE DemoRecipeTable_%d (RECIPE_NO INT, RECIPE_NAME TEXT(100), RECIPE_DATA INT)",@Recipe.RCP_TableNum );
nRet = _SQLRun("K_TableAdd_RCP", strSQL);
if(nRet < 0) {
_MsgBox(_SQLMsg("K_TableAdd_RCP"), "ERROR", 0, 2);
}
if(nRet > 0 )
{
_MsgBox("레시피 테이블이 성공적으로 생성되었습니다.","OK",0,0);
}
_SQLClose("K_TableAdd_RCP");
}
* 레시피 테이블의 새로운 레시피 파라미터를 eRun 스크립트로 추가 합니다.
* eRun 스크립트
// 레시피 테이블 #n 의 테이블에 RECIPE_NO, RECIPE_NAME, RECIPE_DATA 를 입력하면 레시피의 파라미터가 추가 됩니다.
void RecipeInsert()
{
string strListCtrl, strObject, strSQL, strRev, strNameSQL;
int nRet, nMsg;
nRet = 0;
strObject = "Recipe_List@Main";
// 현재 저장된 레시피 리스트 목록을 리스트 컨트롤에 표시합니다.
strListCtrl =_FormatString("SELECT * FROM [DemoRecipeTable_%d] order by RECIPE_NO DESC",@Recipe.RCP_TableNum);
// RECIPE DB OPEN
if( _SQLOpen("K_ADD_RCP", "Demo_Recipe") <= 0) {
_MsgBox(_SQLMsg("K_ADD_RCP"), "ERROR", 0, 2);
}
// 레시피의 파라미터 추가 시 n개의 데이터를 추가할 수 있습니다.
strSQL = _FormatString("Insert INTO [DemoRecipeTable_%d] ( RECIPE_NO, RECIPE_NAME, RECIPE_DATA ) VALUES (%d,'%s',%d)",
@Recipe.RCP_TableNum,@Recipe.RCP_NO ,@Recipe.RCP_NAME , @Recipe.RCP_DATA);
nRet = _SQLRun("K_ADD_RCP", strSQL);
if(nRet < 0) {
_MsgBox(_SQLMsg("K_ADD_RCP"), "ERROR", 0, 2);
}
if(nRet > 0 )
{
_MsgBox("레시피가 성공적으로 추가 되었습니다.","OK",0,0);
}
nRet = _SQLQuery("K_ADD_RCP", strObject, strListCtrl);
if (nRet <= 0) {
_MsgBox(_SQLMsg("K_ADD_RCP"), "ERROR", 0, 2);
}
_SQLClose("K_ADD_RCP");
_RefreshControl(strObject);
}
* 레시피 테이블 0번의 파라미터 값이 추가 된 이미지 입니다.
* 레시피 파라미터의 값을 eRun 스크립트를 사용하여 수정합니다.
* eRun 스크립트
// 레시피 수정
// RECIPE_NO를 기준으로 수정됩니다.
// RECIPE_NO를 입력 후 수정할 NAME,DATA를 입력하면 RECIPE_NO와 같은 레시피는 수정 됩니다.
void RecipeUpdate()
{
string strListCtrl, strObject, strSQL, strRev, strNameSQL;
int nRet, nMsg;
nRet = 0;
strObject = "Recipe_List@Main";
strListCtrl =_FormatString("SELECT * FROM [DemoRecipeTable_%d] order by RECIPE_NO DESC",@Recipe.RCP_TableNum);
_SQLOpen("K_ADD_RCP", "Demo_Recipe");
strSQL = _FormatString("Update [DemoRecipeTable_%d] SET RECIPE_NO = %d , RECIPE_NAME = '%s' , RECIPE_DATA = %d WHERE RECIPE_NO = %d" ,
@Recipe.RCP_TableNum,@Recipe.RCP_NO ,@Recipe.RCP_NAME , @Recipe.RCP_DATA, @Recipe.RCP_NO );
nRet = _SQLRun("K_ADD_RCP", strSQL);
if(nRet < 0) {
_MsgBox(_SQLMsg("K_ADD_RCP"), "ERROR", 0, 2);
}
if(nRet > 0 )
{
_MsgBox("레시피가 성공적으로 수정 되었습니다.","OK",0,0);
}
nRet = _SQLQuery("K_ADD_RCP", strObject, strListCtrl);
if (nRet <= 0) {
_MsgBox(_SQLMsg("K_ADD_RCP"), "ERROR", 0, 2);
}
_TraceEx("Query : %d",nRet);
_SQLClose("K_ADD_RCP");
_RefreshControl(strObject);
}
* 레시피 0번 테이블의 파라미터 값을 수정한 이미지 입니다.
*레시피 파라미터의 값을 삭제 합니다.
* eRun 스크립트
// 레시피 삭제
// RECIPE_NO를 입력하면 RECIPE_NO와 같은 레시피는 삭제 됩니다.
void RecipeDelete()
{
string strListCtrl, strObject, strSQL, strRev, strNameSQL;
int nRet, nMsg;
strObject = "Recipe_List@Main";
strListCtrl =_FormatString("SELECT * FROM [DemoRecipeTable_%d] order by RECIPE_NO DESC",@Recipe.RCP_TableNum);
_SQLOpen("K_ADD_Delete", "Demo_Recipe");
strSQL = _FormatString("DELETE FROM [DemoRecipeTable_%d] WHERE RECIPE_NO = %d " ,@Recipe.RCP_TableNum,@Recipe.RCP_NO );
_TraceEx("%d",@Recipe.RCP_NO);
nRet = _SQLRun("K_ADD_Delete", strSQL);
if(nRet < 0) {
_MsgBox(_SQLMsg("K_ADD_Delete"), "DB_ERROR", 0, 2);
}
if(nRet > 0 )
{
_MsgBox("레시피가 성공적으로 삭제 되었습니다.","OK",0,0);
}
nRet = _SQLQuery("K_ADD_Delete", strObject, strListCtrl);
if (nRet <= 0) {
_MsgBox(_SQLMsg("K_ADD_Delete"), "ERROR", 0, 2);
}
_TraceEx("Query : %d",nRet);
_SQLClose("K_ADD_Delete");
@Recipe.RCP_NAME = "";
@Recipe.RCP_NO = 0;
@Recipe.RCP_DATA = 0;
_RefreshControl(strObject);
}
* 프로젝트 소스 첨부파일 있습니다. 다운받으시고 스튜디오에서 프로젝트 불러오기 하면 됩니다.
댓글목록 0