본문 바로가기

프로그래밍376

C# 일정 범위 내에 IP 체크하기 클라이언트 IP를 일정 범위 내의 IP안에 있는지 확인하는 함수이다. string ip_network = "192.168.0.1:192.168.0.55,10.2.10.11:10.2.10.15"; bool b = checkIpNetwork(ip_network); private bool checkIpNetwork(string ip_network){ if (ip_network == "") return true; string[] ipArray = ip_network.Split(','); foreach (string strIP in ipArray) { IPAddress startIP = null; IPAddress endIP = null; IPAddress loginIP = null; string[] ips = .. 2017. 11. 9.
[MSSQL] Create Table 테이블 생성 템플릿 양식 IF OBJECT_ID('.', 'U') IS NOT NULL DROP TABLE .GO CREATE TABLE .( , , , CONSTRAINT PRIMARY KEY ())GO 2017. 10. 31.
[MSSQL] 컬럼 추가 템플릿, Add Column --==========================================================================-- Add column template---- This template creates a table, then it adds a new column to the table.--==========================================================================USE GO IF OBJECT_ID('.', 'U') IS NOT NULL DROP TABLE .GO CREATE TABLE .(column1 int NOT NULL, column2 char(10) NULL)GO -- Add a new column to the tab.. 2017. 10. 19.
C# WebBrowser 키이벤트 엔터키 막기 웹브라우저 컨트롤에서 엔터키 막을 일이 있어서 추가함 private void BrowserDocumentComplete(object sender, WebBrowserDocumentCompletedEventArgs e) {this.editorWebBrowser.Document.Body.KeyDown += KeyDownHandler;} // ReturnValue 속성을 이용함private void KeyDownHandler(object sender, HtmlElementEventArgs e) {if(e.KeyPressedCode == 13) {e.ReturnValue = false; return;}} 2017. 9. 26.
MSSQL 테이블 사용하는 프로시저 찾기 CREATE PROC FIND_PROC@TB_NAME NVARCHAR(100) = NULLASBEGINIF @TB_NAME IS NULLRETURN SELECT B.* FROM SYS.SYSCOMMENTS A, SYS.ALL_OBJECTS BWHERE TEXT LIKE '%' + @TB_NAME + '%'AND A.ID = B.OBJECT_ID ENDGO 사용법 FIND_PROC TABLE_NAME 또는 도구 > 옵션 > 환경 > 키보드 > 쿼리 바로가기 에 등록하여 단축키로 사용하기 (등록 후 새쿼리 창에서 실행해야 함) 2017. 9. 21.
Oracle 연결시에 BadImageFormatException 32비트 문제 발생 시 win10 64비트비주얼 스튜디오 2012OracleClient.dll 참조 후 개발 시 나오는 문제이다. "32비트 Oracle 클라이언트 구성 요소가 설치된 상태에서 64비트 모드로 실행할 경우 이러한 문제가 발생합니다" 구글링을 하면 여러가지 해결법이 나오는데.. 다 안된다.. 특히 Any Cpu를 X86으로 바꿔보라는 거~~ 안된다. 아래와 같이 처리해야 함IIS 오픈 -> 응용 프로그램 풀 -> 해당 도메인 선택 -> 고급설정 -> 32비트 응용프로그램 사용 : False 로 수정로 하면 잘 됨 2016. 11. 22.
IIS 404.17 NOT FOUND 에러 시 (.NET 4.5) IIS 설정 중에 404.17 에러를 만났다.IIS 응응 프로그램 풀에 해당 .NET 버전이 없어서 인데 그 해결법이다.환경 : win10, IIS 10 일반적으로 아래와 같이 cmd를 이용하여 aspnet_regiis -i 로 해결하게 되는데 이 경우는 아래와 같이 메시지가 나왔다. 뭐라뭐라 잔뜩 나온다. 이 명령어는 더 이상 사용할 수 없다고... 아래와 같이 처리하니 해결.제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기 > 인터넷 정보 서비스 > World Wide Web 서비스 > 응용 프로그램 개발 기능 > ASP.NET 4.6 체크 IIS 응용프로그램 풀에 추가 확인 사이트 재접속 성공!! 2016. 11. 15.
안드로이드 웹서비스 연동 ksoap2 라이브러리 추가하기 안드로이드로 작은 프로젝트를 진행 중이다.매출 정보 리포트를 작성중인데 환경은 아래와 같다. 서버 : .NET 웹 서비스DB : 오라클클라이언트 : 안드로이드 단말기, WEBIDE : 비주얼 스튜디오 2010, 안드로이드 스튜디오 2.2 안드로이드 웹서비스 연동 라이브러리로 ksoap2 라는게 있다.이게 예전 2.x.x. 버전이 폐기되었는데, 샘플 소스들은 대부분은 이 버전용이다. 구글에서 3.6.x 버전까지 Git 에서 릴리즈 되어 있다. 아래는 ksoap2 의 3.x 버전 라이브러리를 안드로이드 스튜디오 2.2에 추가하는 방법이다.먼저 실패한 방법이다. 따라하지 말고 눈으로 보기만 한다.ksoap2 라이브러리 파일을 안드로이드 스튜디오 Project\App\libs 에 복사한 후 파일을 오른쪽 클릭하.. 2016. 10. 12.
안드로이드 ksoap2 웹서비스 사용 시 socket failed: EACCES (Permission denied) 뜰때 안드로이드 첫 개발이다.왜 시작했지... 걍 웹으로 할 걸~모르고 시작했으니 좋은 품질이 나올까 모르겠다. 시나리오 : 1. 서버 : 닷넷 웹서비스 2. 클라이언트 : 안드로이드 앱3. 로그인 프로토타입 제작 문제 : 로그인 버튼 클릭 시 예외(Exception) 발생socket failed: EACCES (Permission denied) 해결 :AndroidManifest.xml 파일에 추가 좋은 품질 만들수 있기를... 2016. 9. 30.
안드로이드 스튜디오 설치 시 필요한 JDK 다운경로 이 얼마만에 보는 자바인가?나의 프로그램으로 입문 언어인 자바 안드로이드 앱 제작해서 웹 솔루션 배포해 보려고 안드로이드 스튜디오 설치했다. 툴 인스톨 중에 나온 메시지 JKD 경로를 알려달라고 하길래 급하게 아래 다운로드 경로에서 JDK 다운로드 후 설치했다. http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=ocomen 네모난 아이콘 두개 중에 왼쪽 JAVA 선택하면 운영체제 별로 다운로드가 가능하다. 끝 2016. 8. 4.
오라클 IF.. ELSEIF 문 쓰다가 맨붕옴 ㅠㅠ 오라클에서 IF 분기를 했다.조건이 여러가지 있었다.그래서 ELSEIF 를 사용했다.에러 빠바박~ ELSE IF 인가 하고 띄어쓰기도 해봤다. 아니다 붙여쓰는게 맞다.그러다 찾았다.ELSEIF 가 아니고ELSIF 였다. 'E' 가 없는 것이다.ㅎㅎㅎㅎㅎㅎㅎㅎ 주의하시길~ 2016. 1. 28.
오라클 SELECT .. INTO 시 결과 없을 때 처리 방법 오라클 프로시져 작성 중에 변수에 데이터를 담아 처리중에 발생한 오류였다.값이 없을수도 있는 경우를 대비해 예외 처리를 하고 아래 로직이 실행되어야 해서 고민하다 알게 된 방법.물론 구글느님께서 검색해 주셨다. SELECT .. INTO 시 NO DATA FOUND 예외인 경우 아래와 같이 처리한다. CREATE OR REPLACE PROCEDURE PROC_TEST IS BEGIN{ 다른 처리 내용....}BEGIN SELECT COL1 INTO V_COL1 FROM TB_TMP WHERE COND1 = ''EXCEPTION WHEN NO_DATA_FOUND THEN V_COL1 := NULL; IF V_COL1 IS NOT NULL THEN ..프로세스 처리 END IF;END; 아래 다른 로직 처리.. 2016. 1. 28.
COM+ 응용프로그램 경로 제어판 > 관리도구 > 구성 요소 서비스 > 컴퓨터 > 내 컴퓨터 > COM+ 응용 프로그램 개발하다가 신규 DLL 빌드했는데도 dll 오류 떨어질 때 여기 찾아가서 해당 dll 찾아서 삭제하고 다시 해볼자. 2015. 3. 12.
DataTable에서 Group By Sum 하기 DataTable 에서 Group by 할일이 생겼는데, LINQ를 사용할 수 없는 상태였다.참으로 좋은 시스템을 가지셔서 아직 .NET 2 버젼이기 때문이다. 헐~아래 함수를 만드신 아주 귀하신 분때문에 문제를 해결할 수 있었다. private DataTable GetGroupedBy(DataTable dt, string columnNamesInDt, string groupByColumnNames, string typeOfCalculation) { //Return its own if the column names are empty if (columnNamesInDt == string.Empty || groupByColumnNames == string.Empty) { return dt; } //Once .. 2015. 1. 19.
C# DataTable에서 특정 컬럼만 Select해서 DataTable 만들기 DataTable.Select() 함수는 DataRow[] 를 반환해서 가끔 곤란하다. 결과로 DataTable을 반환 받고 원하는 컬럼만 선택할 수 있는 방법은 아래와 같다. dt라는 DataTable에 쿼리의 결과가 있다고 가정하고 시작한다. DataTable dt2 = dt.DefaultView.ToTable(false, new string[] {"Col1", "Col2", "Col3"}); 위와 같이 하면 dt2에 원하는 컬럼과 데이터가 복사된다. 2015. 1. 18.
MSSQL TRY CATCH 와 커서 (ERROR 16915) MSSQL에서 오라클로 데이터를 밀어넣는 작업중이었다.MSSQL 프로시져에서 트랜잭션을 유지하려고 TRY... CATCH문을 이용했는데...계속 '커서가 이미 있다'는 에러가 떨어지는 것이었다.커서 사용 문법을 한 백번 정도 쳐다봤는데 이상 없었다. 아무리봐도 맞게 썼다. 그러다 찾았다.이 문제는 이게 어플리케이션(C#) 프로그램이었으면 금방 찾았을 것이다. 어플리케이션에서 try catch시 catch문에 들어가면 오브젝트들 자원해제를 해준다. finally에서 하기도 하고..그것 때문이었다. 열려진 커서가 예외상황이 발생하면서 오픈되채로 catch문으로 들어가 버려서 나는 에러였다.아~~그래서 TRY CATCH문에 아래와 같이 처리했다. BEGIN TRY DECLARE CURSOR CUR FOR .... 2014. 12. 9.
ROLLUP 총계만 필요할 때 ROLLUP을 사용하면 소계, 총계가 나온다.그중 총계만 필요할 때 아래 처럼 사용한다.SELECT ISNULL(COL1, '') COL1 ,ISNULL(COL2, '총계') COL2 ,COUNT(COL2) COLCNT FROM TBL_ROOT A GROUP BY ROLLUP(COL1, COL2) HAVING GROUPING(COL1) = 1 OR GROUPING(COL2)=0 위처럼 사용할 수도 있지만 아래처럼 사용해도 된다.SELECT ISNULL(COL1, '') COL1 ,ISNULL(COL2, '총계') COL2 ,COUNT(COL2) COLCNT FROM TBL_ROOT A GROUP BY ROLLUP( ( COL1, COL2 ) ) 아래 쿼리처럼 괄호를 한번 더 싸주면 된다. 2014. 12. 3.
MSSQL 테이블 목록 조회 오라클 테이블 조회는SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE '%테이블명%' MSSQL 테이블 조회는 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%테이블명%' 2014. 12. 3.
오라클 WITH문과 CREATE TABLE 쓰기 with문을 쓰다가 create table 할려고 보니 한방에 되지 않음.그래서 조금 고민하다가 구글검색하니 역시 오버플로우 닷컴에 답이 있었음.짱임. CREATE TABLE TBL_TEMP AS WITH T_ROOT AS ( SELECT '1' COL1 FROM DUAL ) SELECT * FROM T_ROOT 위와 같이 CREATE TABLE을 최상위에 놓아야 됨 2014. 11. 24.
Asp.Net 간단히 엑셀파일 익스포트 하기 웹에서 엑셀 다운로드 하는 건 생각만 해도 아찔하다.그 HTML 마크업을 다 코딩하려면 으~~그래서 이렇게 저렇게 궁리를 해보았다.일단 IE를 제외한 솔루션은 아래 링크를 통해 확인해 보면 간단히 구현할 수 있다.http://www.jquerybyexample.net/2012/10/export-table-data-to-excel-using-jquery.html와~~ 박수쳐 드리자.그런데 중간에 IE는 안된다고 나온다.아래 추가로 IE용으로 구현방법이 설명되어 있어서 구현했더니 잘 되더라~일단test.aspx 쪽 소스를 구현한다.---------------- test.aspx -------------------------------------- 111222333 111222333 111222333 위처럼 .. 2014. 10. 23.