IT정보공유464 C# TableDependency Exceptions Propery [컬럼명] cannot be set with db value 0.0000000000000000 MSSQL 데이터베이스의 데이터 변경을 감지하기 위해 사용중인 TableDependency. Propery [컬럼명] cannot be set with db value 0.0000000000000000 위 제목과 같은 오류메세지가 발생. 확인해보니 데이터베이스의 컬럼과 C# 클래스에 정의된 필드의 데이터 타입이 일치 하지 않아 발생하는 에러였다. DB Column은 double이고, 클래스에 정의된 타입은 int. 그러다 보니 아래와 같이 오류가 발생하면서 예외상황이 발생됨. TableDependency.SqlClient.Base.Exceptions.NoMatchBetweenModelAndTableColumns: Propery [컬럼명] cannot be set with db value 0.0000000.. IT정보공유/C# 2020. 10. 13. c# 매월 1일, 매달 말일 구하는 방법 일자별 통계 리포트를 작성할때 조회 기간 기준을 매월 1일 부터 매달 말일로 설정하기도 합니다. 이때 필요한 월의 첫날과 월의 마지막 날을 구하는 방법에 대해서 알아보도록 하겠습니다. 현재 날짜를 기준으로 계산하는 방법입니다. 이번달의 첫번째 날, 즉 1일을 DateTime 형식으로 만드는 법 DateTime MonthFirstDay = DateTime.Now.AddDays(1 - DateTime.Now.Day); 설명을 곁들이자면 1일에서 금일 날짜르 뺍니다. 금일은 9월 15일로 가정하도록 하겠습니다. 1일 - 15일 을 하면 -14일이 나오겠죠? 그럼 9월 15일 - 14일을 했으므로 1일이 나오게 됩니다. 이해되시죠? 월의 마지막 날, 말일을 날짜형식으로 만드는 방법입니다. DateTime Mon.. IT정보공유/C# 2020. 9. 15. 원인 파악이 안되는 컴퓨터 속도 느림 현상 - 하드디스크 검사 해보세요. 언젠가 부터 급격하게 느려진 내 컴퓨터. 컴퓨터 속도가 왜이렇게 느려졌지?? 마우스 움직이는거 조차 심각하게 느려져서 도저히 컴퓨터를 사용할 수 없는 상태가 되었습니다. 나름 컴퓨터 좀 다룬다고 생각하는데 원인을 못 찾겠더라고요. 그러다가 문득 생각난게 하드디스크에 배드섹터가 생겼나? 아님 그동안 게임 DVD 이미지 파일을 너무 많이 다운로드 받다보니 디스크 단편화가 심해진 걸까? 그렇다고 해도 이건 너무 느려졌는데?? CPU i5 3.1GHz. 대략 구매한지 6년은 지난거 같은데.. 오래되긴 했네요. 그래서 일단 컴퓨터를 새로 구입할 자금은 없으니 최대한 살려보자라고 생각이 들면서 우선 중요파일들만 백업한 후 컴퓨터 포맷을 했습니다. 역시 컴퓨터 느려진데에는 포맷이 최고인듯. 어느정도 마우스도 자연스럽.. IT정보공유 2020. 8. 11. MSSQL DB를 사용하는 개발자에게 필요한 도구 SQL Beautifier SQL Formatter 많이 사용하시죠? 가독성이 편리하게 SQL을 정리해주는 툴인데요. MSSQL의 DB툴인 SSMS(SQL Server Management Studio)에서도 편리하게 사용할 수 있는 Add-In 프로그램이 있어서 소개해 드립니다. SQL Pretty Printer for SQL Server Management Studio 흔히들 알고 계신대로 SQL 문장을 알아보기 정리해주는 툴입니다. 온라인 버전들도 많은데, SQL Pretty Printer는 SSMS에 플러그인되어 메뉴가 별도로 등록이 되서 브라우저를 따로 실행시키는 번거로움 없이 편리하게 사용할 수 있어요. 그뿐만 아니라 프로그래밍 언어를 사용하는 개발자들에게도 유용한 기능을 제공하고 있습니다. 예를 들면, 1) SQL 문장.. IT정보공유/DB 2020. 8. 4. 내컴퓨터 하드웨어 시스템정보 확인 방법 3DP Chip 컴퓨터 구매 이후 약 6년만에 포맷을 했습니다. 그동안 컴퓨터도 잘 사용을 안하다 보니 모델명도 까먹고 그래픽카드가 뭐였는지도 기억도 안나고.. 포맷하고 이런저런 드라이버 셋팅할 생각하니까 참 답답하더라고요. '아 맞다, 시스템 하드웨어 정보 확인해 주는 프로그램 있었는데?!! 이름이 뭐였지?!' 내 메인보드 모델명과 칩셋 정보를 알려주는 프로그램이 있다는걸 아는데, 그 프로그램 이름이 생각나지 않으니 엄청 답답했습니다. 내 컴퓨터 시스템 정보 확인과 드라이버 설치를 한방에 해주는 3DP Chip 바로 이 프로그램입니다. 이름하여 3DP Chip(뜨리디피 칩)이라고 읽죠. 화면에 보시다시피 엄청 오래된 사양의 똥퓨터 i5 CPU를 사용중입니다. 메인보드 칩셋 드라이버, 그래픽카드 드라이버, 사운드칩셋까지.. IT정보공유 2020. 8. 3. 비주얼 스튜디오 인스톨러 셋업프로그램 만들 때 오류 메세지 Visual Studio Installer 프로젝트를 이용해서 셋업프로그램을 만들 수 있다는 사실 다 알고 계시죠? 새 프로젝트 만들기 메뉴를 통해 기타 프로젝트 형식에 있는 Visua Studio Installer 프로젝트로 만들면 됩니다. (이 포스팅에서는 셋업프로그램 만드는 방법은 설명하지 않습니다.) 비주얼 스튜디오에서 지원되는 인스톨러 프로젝트를 사용하다 보면 가끔 만나게 되는 오류메세지가 있습니다. 보통 바로가기(shortcut) 아이콘을 만든 상태에서 Application Folder 안에 지정되어 있던 파일을 삭제후 다시 등록하거나 할때 발생되는 에러메세지입니다. Invalid icon file located in 'application folder' 처음 이 오류메세지를 만나면 굉장히 당.. IT정보공유 2020. 7. 21. Linux 특정기간이 지난 파일 찾기 & 삭제 명령어 리눅스에서 생성된지 오래된 파일을 삭제 하는 방법에 대해서 알아보도록 하겠습니다. 일반적으로 개발을 하시는 분들이라면 프로그램 로그 파일이 계속 해서 쌓이기 때문에 하드디스크 용량을 확보하는 차원에서 주기적으로 파일을 삭제해야합니다. 제 경우에는 리눅스를 FTP 서버로 사용하고 있는데 업로드 되는 파일들이 워낙에 많아서 업로드 된 이미지 파일을 삭제하는 데 사용하고 있습니다. 우선 오래된 파일을 찾는 방법을 알아보도록 하죠. 리눅스 파일검색 명령어 - find find /mnt/ftpstorage/ftpdata/ -mtime +150 -name "*.jpg" 위 명령어는 find 명령어로 /mnt/ftpstorage/ftpdata/ 하위 디렉토리에 있는 생성된지 150일이 지난 파일 중에 파일확장자가 j.. IT정보공유 2020. 7. 9. 네트워크 이중화 랜카드 2개를 이용하여 랜포트 이중화 네트워크 이중화를 하려면 어떻게 해야 할까? 어떻게 서버를 무중단 운영할 수 있을까? Teaming 티밍 이란? 티밍을 통해 할 수 있는 것은 무엇이 있을까? 아마 네트워크 이중화를 위해 이 포스트를 보고 계실텐데 Teaming이라는 단어처럼 네트워크 어댑터를 팀으로 묶어주는 것을 의미합니다. 그럼 이렇게 티밍을 통해 무엇을 할 수 있는지 궁금하실겁니다. 네트워크 이중화 티밍해야만 하는 이유와 장점 1) 대역폭 병합 1기가 네트워크 랜카드 + 1기가 네트워크 랜카드를 합쳐 2기가 네트워크 대역폭 사용이 가능해집니다. 단, 주의사항은 L2 스위치에서 추가 설정이 필요한 부분입니다. 2) 로드 밸런싱 (Load Balancing) 네트워크 부하를 분배할 수 있는 기능. 하나의 랜카드에 트래픽이 많이 발생하면.. IT정보공유 2020. 7. 1. c# DataTable DataRow 복사 - 이 행은 이미 다른 테이블에 속해 있습니다. 저는 개발할때 DataTable을 많이 사용합니다. 그러다 보니 DataTable과 DataRow를 자주 이용하게 되는데 DataTable과 DataTable에서 레코드 하나를 복사하거나 데이터테이블에 속해있는 로우의 순서를 바꾸려고 할때 다음과 같은 에러를 만날 수 있습니다. System.ArgumentException: '이 행은 이미 다른 테이블에 속해 있습니다.' 예를 들어 로우의 순서를 바꾸기 위해서 기존 데이터테이블인 _dtList를 복사 해서 DataRow를 다시 추가 하려고 할때 에러메세지가 발생합니다. DataRow[] drlist = _dtList.Copy().Select("1=1", "SortNo asc"); _dtList.Clear(); for(int i=0;i IT정보공유/C# 2020. 5. 27. C# TextBox 전화번호 하이픈 자동완성 (전화번호 포맷 자동입력) 오늘은 Textbox에 전화번호를 입력할 때 자동으로 하이픈(-)을 삽입해 주는 샘플 코드입니다. 핵심은 전화번호 자릿수를 계산해서 "-" 문자를 넣어주는 것이고 이를 위해서 TextBox의 KeyPress 이벤트 핸들러와 KeyUp 이벤트 핸들러에서 처리를 해줍니다. private void tePhone_KeyPress(object sender, KeyPressEventArgs e) { if (Char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToIntel32(Keys.Back)) // || (e.KeyChar == '-') { } else { e.Handled = true; } } KeyPress 이벤트핸들러에서는 숫자키와 백스페이스 키만 입력할 수 있도록 제한을 .. IT정보공유/C# 2020. 5. 8. C# WebClient API 호출시 Basic Authorization 인증 방법 간단하게 HTTP header에 아이디와 비밀번호를 설정하여 Basic Authorization 인증 받는 방법을 알아 보도록 하겠습니다. 웹서버에서 별도의 인증이 필요없는 경우에는 아래처럼 http header에 authorization 을 설정하지 않아도 됩니다만 보안을 위해 인증을 사용하는 경우도 있으니, 참고해 두시면 도움이 될겁니다. WebClient webClient = new WebClient(); webClient.Headers[HttpRequestHeader.ContentType] = "application/json"; string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("id:password")); webClient... IT정보공유/C# 2020. 5. 7. C# 단축키 사용을 위한 KeyPreview와 키조합 사용방법 C# 폼에서 단축키를 사용하고자 할 때는 Form 속성중에 KeyPreview 속성을 true로 설정해 줘야 합니다. TextBox 등의 컨트롤에 KeyDown 이벤트를 걸수 있지만, 컨트롤이 아닌 전체 폼 어디에서든 KeyDown 이벤트를 받기위한 설정입니다. 폼 단축키 사용 속성 - KeyPreview Frm.KeyPreview = true; 그리고 폼 KeyDown 이벤트 핸들러를 만들어주고 KeyEventArgs의 키코드값이 원하는 키 일때, 처리하는 프로세스를 추가 해주면 됩니다. 스페이스바를 눌렀을 때는 Delete() 함수를 호출하고, 쉬프트키 + 스페이스바키를 눌렀을 경우에는 MoveNext() 함수를 호출하는 기능입니다. private void Frm_KeyDown(object sende.. IT정보공유/C# 2020. 4. 28. 이전 1 ··· 4 5 6 7 8 9 10 ··· 39 다음 💲 추천 글 반응형