본문 바로가기

개발79

다수의 테이블에 컬럼 추가하기 (존재 여부 검사) 시스템 테이블(sys.tables)을 통해 다수의 테이블을 필터링하고, 임시 테이블 변수에 저장. 추가할 컬럼을 설정하고, 임시테이블 변수를 커서로 오픈하여 이터레이션하며 컬럼이 이미 존재하는지 여부 확인 후 추가. 컬럼을 단순 이름보다 타입, 길이, 널 허용 여부 등등을 임시 테이블 변수나 delimiter를 활용한 문자열 등으로 확장하여 개선할 수 있다. DECLARE @tblNames TABLE ( tbl_nm nvarchar(200) ); INSERT INTO @tblNames SELECT [name] FROM sys.tables WHERE [name] LIKE '%%'; SELECT * FROM @tblNames; DECLARE @name varchar(200), @col_1 varchar(20.. 2017. 11. 24.
[jqGrid] 특정 셀에 css 적용하기 1) afterInsertRow 함수 이용 (이 경우 성능이 저하된다. gridview: false)gridview:false, afterInsertRow: function (rowid, rowdata, rowelem) { var self =$(this); $.each(rowdata, function(k, v){ if (parseInt(v) > 0){ self.setCell(rowid, k, "", { "color": "red", "background-color": "goldenrod" }); } }); }, 2) loadComplete 함수 이용 loadComplete: function(){ var self =$(this); var ids = self.jqGrid("getDataIDs"), l = id.. 2017. 3. 8.
정렬시 null 값을 후위로 배치하기. ORDER BY CASE WHEN {컬럼명} IS NULL THEN 1 ELSE 0 END, {컬럼명} ASC 만약 NULL 중에 특정 컬럼 값이 일치하면 다시 정렬 순서 중에 최 후위로 배치하고 싶다면, ORDER BY CASE WHEN {컬럼} IS NULL THEN CASE {다른컬럼} WHEN {특정값과 일치} THEN {1보다 높은 수} ELSE 1 END ELSE 0 END, {컬럼} ASC 2017. 2. 15.
Windows Service 템플릿 없이 Console Application으로 서비스 자동 등록/해제 보통 서비스 모듈을 윈도우 서비스 형태로 서비스하기 위해 별도의 윈도우 서비스 프로젝트를 생성하고, 개발 완료 후 배치나 명령어 (sc create xxxx , net start xxxx) 로 등록한다. 좀 더 쉬운 방법이 있는데, 콘솔 프로젝트에 직접 서비스 클래스를 적용하는 것이다. 이하 코드 참조 class Program : ServiceBase { static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; if (System.Environment.UserInteractive) { string parameter = string.Concat(args); //.. 2015. 9. 4.