Tip 홈 > Inno WB > Tip

 
INNO WB 의 DB와의 처리 방식

DB 처리를 할때에는 스토어드 프로시져를 이용하며,

처리방식에는 3가지 방식이 있습니다.

 

1.    데이터 여러 읽기 ( : 리스트)

2.    데이터 읽기 ( : 글읽기)

3.    데이터 입력,수정,삭제 ( : 글쓰기, 수정, 삭제)

 

하지만, WB에서는 3가지 방법중 2가지만 사용합니다.

1, 3 !!

2번은 약간 문제가 있어서 1번을 대체합니다.

 

일단, 1. 데이터 여러행 읽기 할때 사용하는 부분의 예입니다.

디비 연결자 : InnoWB (이부분은SettingFile.config 이름을 설정합니다.)

프로시져는 : iGetBoardFileList

파라메터 idx 넘겨서 idx 관련되는 파일 리스트를 가져오는 부분입니다.

 

데이터를 가져올때에는 DataSet 이라는 놈을 이용합니다.

 

public DataSet GetBoardFileList(int _idx, out string _rtnVal, out int _rtnCode)

{

          DataSet ds = new DataSet();

 

           SqlParameter[] parameters = {

                                                                new SqlParameter("@Idx", SqlDbType.Int)

                                                            };

           parameters[0].Value = _idx;

 

           ds = DBCommand.RunProcedure("InnoWB", "iGetBoardFileList", parameters, "tbGetBoardFileList", out _rtnVal, out _rtnCode);

 

           return ds;

}

 

프로시져의 파라메터를 위의 부분처럼 항상 정의를 해줘야 합니다.

 

SqlParameter[] parameters = {

                                    new SqlParameter("@Idx", SqlDbType.Int)

                             };

parameters[0].Value = _idx;

 

위의 부분은 파라메터가 1개가 있을때고요.

2개가 있을때에는..

 

SqlParameter[] parameters = {

                                    new SqlParameter("@Idx", SqlDbType.Int)

                                    ,new SqlParameter("@FileName", SqlDbType.Varchar, 200)

                             };

parameters[0].Value = _idx;

parameters[1].Value = _fileName;

 

이런식으로 하시면 되겠습니다.

 

그러면DBCommand.RunProcedure 파라메터들을 입력 받아서 해당 프로시져를 실행시켜서, 반환되는 데이터를 DataSet 형식으로 반환해줍니다.

 

일단, 디비에서 select * from dbo.test 같은 여러행을 가져올때는 DataSet 이용한다는 것만 알아두도록 하죠.

 

2.데이터 입력,수정,삭제

, Select 쿼리가 없이그냥 입력하면 .. 수정처리하면 이부분은 DataSet 부분과도 비슷합니다.

예를 들어 위의 부분을 비슷하게 고쳐서 데이터를 입력하는 부분으로 바꾼다면

 

public void AddBoardFileList(int _idx, out int _rtnCode)

                            {

                                          DataSet ds = new DataSet();

 

                                          SqlParameter[] parameters = {

                                                                new SqlParameter("@Idx", SqlDbType.Int)

                                                            };

                                          parameters[0].Value = _idx;

 

                                          ds = DBCommand.RunProcedure("InnoWB", "iGetBoardFileList", parameters, "tbGetBoardFileList", out _rtnVal, out _rtnCode);

 

DBCommand.RunProcedure("InnoWB", "iGetBoardFileList", parameters, out _rtnCode);

 

                                          return ds;

                            }

 

대충 이런식으로 바뀝니다.

다시 정리된걸 보면...

 

public void AddBoardFileList(int _idx, out int _rtnCode)

                            {

                                          SqlParameter[] parameters = {

                                                                new SqlParameter("@Idx", SqlDbType.Int)

                                                            };

                                          parameters[0].Value = _idx;

 

DBCommand.RunProcedure("InnoWB", "iGetBoardFileList", parameters, out _rtnCode);

 

                            } 

 

INNO WB DB와의 데이터 처리 방식은 대충 저러합니다.

 

자세한건 소스를 몇번 보다보면 대충 이해갈 갈거에요.

 

그래도 궁금하신게 있으시면 질문게시판에 글을 남겨주세요~

2010년 07월 05일 (20:06)
윗글 |

2, 1 / 1
no title name date visit
7608 모든 프로시져에는 @RtnCode 파라메터가 OUTPUT 형식으로 존재해야 한다.
2010-07-05 1376
-- INNO WB 의 DB와의 처리 방식
2010-07-05 1855
 1


I D
P W
회원가입
Inno WB
    Download
    Tip

Copyright © 2001-2024 All rights Reserved.     Powered by INNO WB 0.6 Beta (.Net)