C# Code Generator for Stored Procedures
# 들어가는말파라메터쿼리가 성능이 좋고 SQL인젝션 공격등을 보안할 수 있다고 합니다.
하지만 작성하기가 여간 까다로운것이 아닙니다.
보통 테이블에 필드가 20~30개 있다고 하면 이걸 다 적어주어야 할 뿐만 아니라 타입도 sp_help등을 통해서 확인하면서 코딩을 하여야 합니다.
여간 복잡하고 귀찮은 작업이 아닐 수 없습니다.
네이버나 구글에서 검색하면 CodeProJect 에 등록된 포스트를 보실 수 있을겁니다.
위의 파일을 다운로드 받아서 쿼리분석기나 Microsoft SQL Express에 쿼리를 돌려보세요.
그럼 tools_CS_SPROC_Builder 이라는 프로시져가 생성이 됩니다.
# 사용법
tools_CS_SPROC_Builder 테이블명
프로시저 내용 자세히 보기
# 출력물
try
{
SqlParameter[] paramsToStore = new SqlParameter[46];
paramsToStore[0] = new SqlParameter("@CO_GUBUN", SqlDbType.VarChar);
paramsToStore[0].Value = ?;
paramsToStore[0].Size=2;
paramsToStore[1] = new SqlParameter("@CO_GBNAME", SqlDbType.VarChar);
paramsToStore[1].Value = ?;
paramsToStore[1].Size=30;
paramsToStore[2] = new SqlParameter("@CO_SANAME", SqlDbType.VarChar);
paramsToStore[2].Value = ?;
paramsToStore[2].Size=30;
paramsToStore[3] = new SqlParameter("@CO_ESANAME", SqlDbType.VarChar);
paramsToStore[3].Value = ?;
paramsToStore[3].Size=50;
paramsToStore[4] = new SqlParameter("@CO_SETDATE", SqlDbType.VarChar);
paramsToStore[4].Value = ?;
paramsToStore[4].Size=8;
paramsToStore[5] = new SqlParameter("@CO_SANO", SqlDbType.VarChar);
paramsToStore[5].Value = ?;
paramsToStore[5].Size=10;
paramsToStore[6] = new SqlParameter("@CO_BUBIN", SqlDbType.VarChar);
paramsToStore[6].Value = ?;
paramsToStore[6].Size=13;
paramsToStore[7] = new SqlParameter("@CO_MASTER", SqlDbType.VarChar);
paramsToStore[7].Value = ?;
paramsToStore[7].Size=30;
paramsToStore[8] = new SqlParameter("@CO_EMASTER", SqlDbType.VarChar);
paramsToStore[8].Value = ?;
paramsToStore[8].Size=50;
paramsToStore[9] = new SqlParameter("@CO_UPJONG", SqlDbType.VarChar);
paramsToStore[9].Value = ?;
paramsToStore[9].Size=50;
paramsToStore[10] = new SqlParameter("@CO_INWON", SqlDbType.VarChar);
paramsToStore[10].Value = ?;
paramsToStore[10].Size=5;
paramsToStore[11] = new SqlParameter("@CO_UPTAE", SqlDbType.VarChar);
paramsToStore[11].Value = ?;
paramsToStore[11].Size=50;
paramsToStore[12] = new SqlParameter("@CO_T_DDD", SqlDbType.VarChar);
paramsToStore[12].Value = ?;
paramsToStore[12].Size=20;
paramsToStore[13] = new SqlParameter("@CO_T_KKK", SqlDbType.VarChar);
paramsToStore[13].Value = ?;
paramsToStore[13].Size=4;
paramsToStore[14] = new SqlParameter("@CO_T_LLL", SqlDbType.VarChar);
paramsToStore[14].Value = ?;
paramsToStore[14].Size=4;
paramsToStore[15] = new SqlParameter("@CO_F_DDD", SqlDbType.VarChar);
paramsToStore[15].Value = ?;
paramsToStore[15].Size=20;
paramsToStore[16] = new SqlParameter("@CO_F_KKK", SqlDbType.VarChar);
paramsToStore[16].Value = ?;
paramsToStore[16].Size=4;
paramsToStore[17] = new SqlParameter("@CO_F_LLL", SqlDbType.VarChar);
paramsToStore[17].Value = ?;
paramsToStore[17].Size=4;
paramsToStore[18] = new SqlParameter("@CO_POST", SqlDbType.VarChar);
paramsToStore[18].Value = ?;
paramsToStore[18].Size=7;
paramsToStore[19] = new SqlParameter("@CO_JUSO", SqlDbType.VarChar);
paramsToStore[19].Value = ?;
paramsToStore[19].Size=100;
paramsToStore[20] = new SqlParameter("@CO_ENGJUSO", SqlDbType.VarChar);
paramsToStore[20].Value = ?;
paramsToStore[20].Size=255;
paramsToStore[21] = new SqlParameter("@CO_JUSIC", SqlDbType.Money);
paramsToStore[21].Value = ?;
paramsToStore[22] = new SqlParameter("@CO_JUAMT", SqlDbType.Money);
paramsToStore[22].Value = ?;
paramsToStore[23] = new SqlParameter("@CO_BALSU1", SqlDbType.Money);
paramsToStore[23].Value = ?;
paramsToStore[24] = new SqlParameter("@CO_BALSU2", SqlDbType.Money);
paramsToStore[24].Value = ?;
paramsToStore[25] = new SqlParameter("@CO_MAGAM", SqlDbType.VarChar);
paramsToStore[25].Value = ?;
paramsToStore[25].Size=6;
paramsToStore[26] = new SqlParameter("@CO_SDATE", SqlDbType.VarChar);
paramsToStore[26].Value = ?;
paramsToStore[26].Size=8;
paramsToStore[27] = new SqlParameter("@CO_EDATE", SqlDbType.VarChar);
paramsToStore[27].Value = ?;
paramsToStore[27].Size=8;
paramsToStore[28] = new SqlParameter("@CO_LDATE", SqlDbType.VarChar);
paramsToStore[28].Value = ?;
paramsToStore[28].Size=8;
paramsToStore[29] = new SqlParameter("@CO_JABON", SqlDbType.Money);
paramsToStore[29].Value = ?;
paramsToStore[30] = new SqlParameter("@CO_GITA", SqlDbType.VarChar);
paramsToStore[30].Value = ?;
paramsToStore[30].Size=50;
paramsToStore[31] = new SqlParameter("@CO_GIGAN", SqlDbType.VarChar);
paramsToStore[31].Value = ?;
paramsToStore[31].Size=2;
paramsToStore[32] = new SqlParameter("@CO_YUMU", SqlDbType.VarChar);
paramsToStore[32].Value = ?;
paramsToStore[32].Size=1;
paramsToStore[33] = new SqlParameter("@CO_GUBYU", SqlDbType.VarChar);
paramsToStore[33].Value = ?;
paramsToStore[33].Size=2;
paramsToStore[34] = new SqlParameter("@CO_INUSER", SqlDbType.VarChar);
paramsToStore[34].Value = ?;
paramsToStore[34].Size=8;
paramsToStore[35] = new SqlParameter("@CO_INDATE", SqlDbType.VarChar);
paramsToStore[35].Value = ?;
paramsToStore[35].Size=8;
paramsToStore[36] = new SqlParameter("@CO_TOIJIK", SqlDbType.VarChar);
paramsToStore[36].Value = ?;
paramsToStore[36].Size=1;
paramsToStore[37] = new SqlParameter("@CO_PROC", SqlDbType.Int);
paramsToStore[37].Value = ?;
paramsToStore[38] = new SqlParameter("@CO_URL", SqlDbType.VarChar);
paramsToStore[38].Value = ?;
paramsToStore[38].Size=50;
paramsToStore[42] = new SqlParameter("@CO_HOMEID", SqlDbType.VarChar);
paramsToStore[42].Value = ?;
paramsToStore[42].Size=50;
paramsToStore[43] = new SqlParameter("@CO_MANAGETAX", SqlDbType.VarChar);
paramsToStore[43].Value = ?;
paramsToStore[43].Size=30;
paramsToStore[44] = new SqlParameter("@CO_MANAGEOFFICE", SqlDbType.VarChar);
paramsToStore[44].Value = ?;
paramsToStore[44].Size=30;
paramsToStore[45] = new SqlParameter("@CO_MASTERNO", SqlDbType.VarChar);
paramsToStore[45].Value = ?;
paramsToStore[45].Size=13;
paramsToStore[49] = new SqlParameter("@co_gbubin", SqlDbType.Int);
paramsToStore[49].Value = ?;
paramsToStore[50] = new SqlParameter("@co_gkind", SqlDbType.Int);
paramsToStore[50].Value = ?;
paramsToStore[51] = new SqlParameter("@co_gsojae", SqlDbType.Int);
paramsToStore[51].Value = ?;
SqlHelper.ExecuteNonQuery(conn.Connection, CommandType.StoredProcedure,"c_company", paramsToStore);
{
SqlParameter[] paramsToStore = new SqlParameter[46];
paramsToStore[0] = new SqlParameter("@CO_GUBUN", SqlDbType.VarChar);
paramsToStore[0].Value = ?;
paramsToStore[0].Size=2;
paramsToStore[1] = new SqlParameter("@CO_GBNAME", SqlDbType.VarChar);
paramsToStore[1].Value = ?;
paramsToStore[1].Size=30;
paramsToStore[2] = new SqlParameter("@CO_SANAME", SqlDbType.VarChar);
paramsToStore[2].Value = ?;
paramsToStore[2].Size=30;
paramsToStore[3] = new SqlParameter("@CO_ESANAME", SqlDbType.VarChar);
paramsToStore[3].Value = ?;
paramsToStore[3].Size=50;
paramsToStore[4] = new SqlParameter("@CO_SETDATE", SqlDbType.VarChar);
paramsToStore[4].Value = ?;
paramsToStore[4].Size=8;
paramsToStore[5] = new SqlParameter("@CO_SANO", SqlDbType.VarChar);
paramsToStore[5].Value = ?;
paramsToStore[5].Size=10;
paramsToStore[6] = new SqlParameter("@CO_BUBIN", SqlDbType.VarChar);
paramsToStore[6].Value = ?;
paramsToStore[6].Size=13;
paramsToStore[7] = new SqlParameter("@CO_MASTER", SqlDbType.VarChar);
paramsToStore[7].Value = ?;
paramsToStore[7].Size=30;
paramsToStore[8] = new SqlParameter("@CO_EMASTER", SqlDbType.VarChar);
paramsToStore[8].Value = ?;
paramsToStore[8].Size=50;
paramsToStore[9] = new SqlParameter("@CO_UPJONG", SqlDbType.VarChar);
paramsToStore[9].Value = ?;
paramsToStore[9].Size=50;
paramsToStore[10] = new SqlParameter("@CO_INWON", SqlDbType.VarChar);
paramsToStore[10].Value = ?;
paramsToStore[10].Size=5;
paramsToStore[11] = new SqlParameter("@CO_UPTAE", SqlDbType.VarChar);
paramsToStore[11].Value = ?;
paramsToStore[11].Size=50;
paramsToStore[12] = new SqlParameter("@CO_T_DDD", SqlDbType.VarChar);
paramsToStore[12].Value = ?;
paramsToStore[12].Size=20;
paramsToStore[13] = new SqlParameter("@CO_T_KKK", SqlDbType.VarChar);
paramsToStore[13].Value = ?;
paramsToStore[13].Size=4;
paramsToStore[14] = new SqlParameter("@CO_T_LLL", SqlDbType.VarChar);
paramsToStore[14].Value = ?;
paramsToStore[14].Size=4;
paramsToStore[15] = new SqlParameter("@CO_F_DDD", SqlDbType.VarChar);
paramsToStore[15].Value = ?;
paramsToStore[15].Size=20;
paramsToStore[16] = new SqlParameter("@CO_F_KKK", SqlDbType.VarChar);
paramsToStore[16].Value = ?;
paramsToStore[16].Size=4;
paramsToStore[17] = new SqlParameter("@CO_F_LLL", SqlDbType.VarChar);
paramsToStore[17].Value = ?;
paramsToStore[17].Size=4;
paramsToStore[18] = new SqlParameter("@CO_POST", SqlDbType.VarChar);
paramsToStore[18].Value = ?;
paramsToStore[18].Size=7;
paramsToStore[19] = new SqlParameter("@CO_JUSO", SqlDbType.VarChar);
paramsToStore[19].Value = ?;
paramsToStore[19].Size=100;
paramsToStore[20] = new SqlParameter("@CO_ENGJUSO", SqlDbType.VarChar);
paramsToStore[20].Value = ?;
paramsToStore[20].Size=255;
paramsToStore[21] = new SqlParameter("@CO_JUSIC", SqlDbType.Money);
paramsToStore[21].Value = ?;
paramsToStore[22] = new SqlParameter("@CO_JUAMT", SqlDbType.Money);
paramsToStore[22].Value = ?;
paramsToStore[23] = new SqlParameter("@CO_BALSU1", SqlDbType.Money);
paramsToStore[23].Value = ?;
paramsToStore[24] = new SqlParameter("@CO_BALSU2", SqlDbType.Money);
paramsToStore[24].Value = ?;
paramsToStore[25] = new SqlParameter("@CO_MAGAM", SqlDbType.VarChar);
paramsToStore[25].Value = ?;
paramsToStore[25].Size=6;
paramsToStore[26] = new SqlParameter("@CO_SDATE", SqlDbType.VarChar);
paramsToStore[26].Value = ?;
paramsToStore[26].Size=8;
paramsToStore[27] = new SqlParameter("@CO_EDATE", SqlDbType.VarChar);
paramsToStore[27].Value = ?;
paramsToStore[27].Size=8;
paramsToStore[28] = new SqlParameter("@CO_LDATE", SqlDbType.VarChar);
paramsToStore[28].Value = ?;
paramsToStore[28].Size=8;
paramsToStore[29] = new SqlParameter("@CO_JABON", SqlDbType.Money);
paramsToStore[29].Value = ?;
paramsToStore[30] = new SqlParameter("@CO_GITA", SqlDbType.VarChar);
paramsToStore[30].Value = ?;
paramsToStore[30].Size=50;
paramsToStore[31] = new SqlParameter("@CO_GIGAN", SqlDbType.VarChar);
paramsToStore[31].Value = ?;
paramsToStore[31].Size=2;
paramsToStore[32] = new SqlParameter("@CO_YUMU", SqlDbType.VarChar);
paramsToStore[32].Value = ?;
paramsToStore[32].Size=1;
paramsToStore[33] = new SqlParameter("@CO_GUBYU", SqlDbType.VarChar);
paramsToStore[33].Value = ?;
paramsToStore[33].Size=2;
paramsToStore[34] = new SqlParameter("@CO_INUSER", SqlDbType.VarChar);
paramsToStore[34].Value = ?;
paramsToStore[34].Size=8;
paramsToStore[35] = new SqlParameter("@CO_INDATE", SqlDbType.VarChar);
paramsToStore[35].Value = ?;
paramsToStore[35].Size=8;
paramsToStore[36] = new SqlParameter("@CO_TOIJIK", SqlDbType.VarChar);
paramsToStore[36].Value = ?;
paramsToStore[36].Size=1;
paramsToStore[37] = new SqlParameter("@CO_PROC", SqlDbType.Int);
paramsToStore[37].Value = ?;
paramsToStore[38] = new SqlParameter("@CO_URL", SqlDbType.VarChar);
paramsToStore[38].Value = ?;
paramsToStore[38].Size=50;
paramsToStore[42] = new SqlParameter("@CO_HOMEID", SqlDbType.VarChar);
paramsToStore[42].Value = ?;
paramsToStore[42].Size=50;
paramsToStore[43] = new SqlParameter("@CO_MANAGETAX", SqlDbType.VarChar);
paramsToStore[43].Value = ?;
paramsToStore[43].Size=30;
paramsToStore[44] = new SqlParameter("@CO_MANAGEOFFICE", SqlDbType.VarChar);
paramsToStore[44].Value = ?;
paramsToStore[44].Size=30;
paramsToStore[45] = new SqlParameter("@CO_MASTERNO", SqlDbType.VarChar);
paramsToStore[45].Value = ?;
paramsToStore[45].Size=13;
paramsToStore[49] = new SqlParameter("@co_gbubin", SqlDbType.Int);
paramsToStore[49].Value = ?;
paramsToStore[50] = new SqlParameter("@co_gkind", SqlDbType.Int);
paramsToStore[50].Value = ?;
paramsToStore[51] = new SqlParameter("@co_gsojae", SqlDbType.Int);
paramsToStore[51].Value = ?;
SqlHelper.ExecuteNonQuery(conn.Connection, CommandType.StoredProcedure,"c_company", paramsToStore);
이제 위의 코드에서 원하는 값만 넣고
SqlHelper.ExecuteNonQuery(conn.Connection, CommandType.StoredProcedure,"c_company", paramsToStore);
이부분 처럼 던지면 됩니다 ^^
Src.zip



























Rss 2.0
눈이 핑글핑글 돌아갑니다...
그래도 오늘 또 새로운거 배워가네요~^^
헤헤 행복박스님도 좋은하루되세용 ㅋ
C#으로 쿼리작성하기 귀찮은걸 프로시져로 만들어둔 것이 많더라구요..
심지어 insert도 필드가 많으니깐
이런식으로 처리한걸 봤습니다 ^.^-
구글로 검색하면 샤샥 나옵니다 ㅋ
컴퓨터 스토리 블로그도 이제 팀블로그 형태로 운영되는건가요? ㅎㅎ
지금 C# 배우려고 입문하고 있습니다.
아직은 뭐가뭔지 모르겠지만, 저 포스트가 언젠가는 저에게 도움이 될거같은 느낌이 팍팍와요~
얼른 C# 공부해야 겠습니다. 휘휙~
팀블로그에요
[엔돌슨]으로 활동하고 있습니다.
C#은 잘하는건 아니구
저역시 배우는 단계에요.
asp.net with c#으로 erp관련 프로젝트를 조금했었구요.
현재 win form에 관심이 많아서 혼자 연습중입니다.
좋은 자료 있으면 포스팅할께요
잘부탁드려요
슬슬 함 배워 봐야 겠네요 ^^
넵~~ 잘부탁드려요.
좋은건 계속쓸수록 실력이 늘어나는 거 같아요
stored procedure 를 파라마터화된 방식으로 전송하는 구문이군요..^^ 필드가 엄청 많을때는 매우 효과적일것 같네요...^__^
넵~ 무지 편합니다.
제가 만든것이 아니라서 뭐라고 하기는 그렇치만
쿼리잘 작성하시는 분이 보시면 이 외국인 쪼매 했군
보이실겁니다 ^^ㅋㅋ
아이디어가 좋으니 또 귀찮은데 뚝딱 해주니 좋은거 같아요
눈이 핑글핑글 돌아가네요... SQL을 잘 모르니 어떤 구조인지를 모르겠네요,,,