개발5 C# 윈도우 파일명 유효성 체크 및 변경 프로그래밍을 하다보면 파일을 저장시켜야 할때가 있는데, 이때 윈도우에서 제약이 있는 파일명을 사용하면 안된다. 아래 문자는 사용할 수 없다. 문자 이유 \ 디렉터리의 구분자로 쓰인다.[1] / : 드라이브 기호로 쓰인다.[2] * 와일드 카드로 쓰인다. ?는 한 글자의 의미로 쓰인다.[3][4] ? " 경로의 시작과 끝을 나타낸다.[5] | 다행히 닷넷에서는 내장함수로 파일명 유효성 체크를 지원한다. (같은 마이크로소프트니까 가능??) 아래와 같이 체크하여 에러가 나는 불상사를 방지할 수 있다. String filename = 파일명; string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPat.. 2023. 12. 6. C# 에러로그 기록(예외처리) 꿀팁 프로그램 실행시 bin 폴더에 에러로그 텍스트 파일로 남기는 꿀팁이다. 에러발생시 DB로 쏴줘도 되지만 bin폴더에 텍스트로 남겨야 하는 특수한 상황도 존재한다.. catch 단에 아래 메서드를 호출해서 사용하면 된다. private static void fn_LogWrite(string str) //로그파일 기록 { string DirPath = Environment.CurrentDirectory + @"\Log"; string FilePath = DirPath + "\\Log_" + DateTime.Today.ToString("yyyyMMdd") + ".log"; string temp; DirectoryInfo di = new DirectoryInfo(DirPath); FileInfo fi = new.. 2023. 12. 6. [Winform, C#] Process.Start() 이용하여 새창(새탭X) 에서 브라우저 열기 object URL = "https://www.naver.com"; ProcessStartInfo startInfo = new ProcessStartInfo("msedge.exe"); //엣지로 열기, 크롬은:chrome.exe startInfo.Arguments = URL.ToString() + " --new-window"; //--new-window 붙이면 새브라우저에서 열림. Process.Start(startInfo); 새 창이라고 구글링을해도 전부다 새 탭 기준으로 설명하고 있길래 내가 직접 찾았다.... 새 탭 아니라고!! 새 창이라고!! 새 탭 아닙니다... 헷갈리시는분들을 위해 설명... 새 창으로 띄우는건 브라우저 창을 하나 더 띄우는겁니다... 이사람들아... 핵심은 startInfo... 2023. 1. 30. MSSQL / Date 포맷 컬럼에 NULL값 넣기 (1900-01-01로 들어가는 현상 해결법) MSSQL 에서 포맷이 DATE 인 컬럼에 NULL값을 INSERT 하려고 하면 값이 '1900-01-01' 로 자동으로 들어가게 된다.(빡친다) IIF 함수를 사용하여 '' (빈값)인경우에 NULL로 들어가게 해주자... INSERT INTO ORDER ( COL1, ... ORDERDATE ) VALUES ( COL1, ... IIF(@ORDERDATE = '', NULL, CONVERT(DATE, @ORDERDATE) ) 응용+) 프로시저 사용시 @_DATE NVARCHAR(100) INSERT INTO ORDER ( ORDERDATE ) VALUES ( IIF(@_DATE = '', NULL, @_DATE) ) 코드내에서 yyyy-MM-dd 까지 자르고 인풋파라메터로 @_DATE 받아서 위와같이 .. 2022. 8. 10. 이전 1 2 다음