근래들어 델파이를 시작했는데요. RadStudio2009를 써보고 있습니다.
바쁘신데 죄송합니다 궁금한것이 있어서 질문 4개만 할께요.
1. 델파이에서 많은 쿼리를 사용할때 Query콤포넌트 사용 형태
TADOQuery 등을 사용해서 mySql연동 해보니까 잘되는데
(DbExpress 는 libmysql 있는데도 에러가 나서요 어쩔수 없이 ADO해보니까 되서 씁니다 ㅠㅠ)
보통 조회성 쿼리 말고 처리성 쿼리등을 해보려 할 때 (insert ,update 등등..)
쿼리가 많을 경우에 보통 쿼리 수만큼 콤포넌트를 올려놓고 하시는지
아니면 그냥 처리용 쿼리 콤포넌트는 하나만 두고
실행해야될 시점의 버튼이나 이벤트에서 sql 프로퍼티 및 파라미터 프러퍼티를 clear 하고
다시 add 해서 할때마다 execute하는것이 일반적인지 궁금합니다
아니면 폼의 전역변수 배열등으로 쿼리및 파라미터등을 미리 정해두고 각각쿼리 실행시마다
인자로 불러서 콤포넌트에 매핑을 하는지도 (이건 그냥 상상해봤어요)
혹시 사용하는 쿼리 및 파라미터등을 세트로 만들어두고 실행할 수 있는 일반적으로 많이 쓰시는
방법론이 있는지요 ? (요즘 프로젝트에서 사용하는 XML Query 형태처럼..)
2. 레포트 툴 선택 문제
제가 사용하는 델파이에는 RaveReport란게 있던데요
(제가 아주 오래전에 델파이 1.0으로 작은 프로젝트를 해본기억이 있는데 ^^;)
레포트 이걸로 하는데 별 문제가 없는지요 .
간단한거 구현해볼려고 하는데 왠지 솔루션이 커보여서요
다른 더 쉽고 편한 많이들 쓰시는게 있는지 해서요
3. DBGrid 선택문제
상용아닌 많이쓰는 그리드 콤포넌트 없나요 ? 그냥 DBGrid를 써야하나 고민이돼서...
4. 구버전 패키지나 콤포넌트 인스톨문제
제가 잘몰라서 그러는데 dpk 파일이 델파이 패키지파일로 알고있는데 이거 인스톨 패키지로
해보려니까 , 제 델파이가 버전이 높아서 그런지 bpl 파일만 찾고 저건 강제지정해도 안되드라구요
다른 방법이 있는건가요
나름대로 구글이나 지식인 검색을 해봤는데
마땅한 답변이 없어서 여기 적게 됐습니다
너무 초보적인 질문이어서 죄송하구요
긴 질문 읽어주셔서 감사합니다
즐거운 하루 되세요
1. 현재 쿼리수만큼 쿼리 컴포넌트를 올려놓은 프로그램을 분석/수정하고 있습니다.
결론은 사람이 할짓이 못된다 이군요.
본인이 만드는 거라면야 몇백개를 올려놓건 간에 본인이 그 용도를 알고 올려다놓은거니 문제 될 거 없습니다.
단... 그걸 수정해야 될 일이 생기거나 다른 사람이 수정을 해야 될 경우... 지옥을 구경 할 수 있게 될 것입니다.
일일이 모든 쿼리 컴포넌트를 전부 열어보면서 무슨 쿼리가 어떻게 들어가 있는지 다 알아낼려면... 상상이 가시는지요?
딱히 일반적인 방법이란게 있는지 모르겠군요.
권장하는 방법이라면 한 프로그램내에 수십개의 쿼리를 하지 않아도 될 정도로 DB 설계를 해놓거나
되도록 최소한의 처리만을 하도록 프로그램을 만들어 놓는게 가장 괜찮을 것 같습니다만 다 만드는 사람 취향이라죠.
저 같은 경우 메인쿼리 컴포넌트를 하나 올려두고 수시로 사용되는 쿼리는 상수로 만들어서 쓰고
1회성으로 사용되는 쿼리는 해당 프로시져내에서 직접 써넣는 방식으로 합니다.
각각의 프로퍼티 및 파라미터를 변수로 만들어서 처리하는 방식도 한번 해봤었는데 후회하실테니 권장해 드리지 않습니다.
(만든 사람도 소스 수정이 거의 불가능...)
2. 레포트툴은 급하다면 손에 익은걸 사용하시는게 가장 속 편하실 겁니다.
저는 퀵레포트로 합니다만 몇몇 문제점들이 실무에서 태클이 될 경우가 간혹 있어서
다른 걸로 바꿀까 하는 생각도 하고 있습니다.
3. 상용이 아닌 그리드 중에 뭘 많이 쓰고들 계시는진 모르지만
상용이 아닌 경우 그다지 사용해봐야 득 볼 만한 것은 없다고 봅니다.
굳이 상용 그리드를 쓰는 이유가 그리드내에 그룹을 만들거나 셀병합을 한다던지 그런 아주 특수한 부분들이
쉽게 구현이 가능하도록 되어 있기에 사용하는 건데
상용이 아닌 그리드 중에 그런걸 멋지게 구현해 놓은 그리드가 있는지 모르겠군요.
또한 그런 기능이 구현되 있다고 하더라도 해당 그리드상에 치명적인 문제를 찾았을시 뒷 수습에 문제가 생기기도 하죠.
그런 특수한 기능이 필요없고 상용그리드를 제외한다면 그냥 StringGrid를 사용하는게 더 쓸만하다고 봅니다.
4. dpk파일을 따로 열어서 빌드 하시고
델파이 환경설정에서 라이브러리 패스를 해당 dpk 파일이 있는 폴더로 잡아주시면 됩니다.