본문 바로가기

인생은 실전/C#12

[C#] Thread - 크로스 스레드(Cross Thread)와 해결 방법 2가지 / InvokeRequired + invoke / CheckForIllegalCrossThreadCalls Thread - 크로스 스레드 (Cross Thread) 해결 방법 2가지 C#에서 여러개의 Form을 왔다갔다 하면서 다양한 컨트롤을 제어하다보면 심심치 않게 아래와 같은 크로스 스레드 작업 관련 오류 문구를 확인할 수 있다. 이는 해당 컨트롤을 관리하는 스레드가 아닌 다른 스레드에서 해당 컨트롤에 접근하게 되면 크로스 스레드 오류가 발생한다고 한다. 1. CheckForIllegalCrossThreadCalls 크로스 스레드 해결 방법으로 첫번째는 CheckForIllegalCrossThreadCalls의 속성값을 False로 바꾸는 것이다. CheckForIllegalCrossThreadCalls = false; 이는 크로스 스레드를 무시하겠다는 설정으로 쓰레드 충돌을 방지하는 것이 아닌 쓰레드가 .. 2022. 10. 19.
[C#] SQL Server - ③ : 테이블에 데이터 추가하기(INSERT) / 명령줄인수를 통해 실행시 문자열 전달 받기 / SqlParameter를 통해 매개변수화된 쿼리문 작성하기 SQL Server - ③ : 테이블에 데이터 추가하기(INSERT) 지난번에 생성한 테이블을 바탕으로 오늘은 데이터(행)를 추가해보겠습니다. 단순히 문자열만으로 구성된 INSERT 쿼리문만을 작성하면 지난번과 비슷하기 때문에 매개변수화된 쿼리문을 작성해서 데이터를 삽입(INSERT)해 보겠습니다. 또한, 명령줄인수라는 기능을 통해 프로그램 실행시 DB관련 문자열을 전달받아서 좀 더 사용자 친화적인 프로그램을 만들어 보겠습니다. 오늘 실습에 사용할 WinForm의 형태는 아래와 같습니다. ✅ 오늘 정리할 내용 ✅ 1️⃣ 명령줄인수를 통해 App.config에 있는 DB 연결 문자열의 Tag Name을 전달받기. 2️⃣ 매개변수화된 쿼리문을 작성해서 테이블에 데이터를 INSERT 하기. 1. 명령줄인수를 .. 2022. 8. 16.
[C#] SQL Server - ② : 테이블 생성하기 / 윈폼 DataGridView를 이용해서 Column 정보 추출하기 / SqlCommand.ExecuteNonQuery() SQL Server - ② : 테이블(TABLE) 생성하기 DataGridView를 이용한 간단한 윈폼을 통해 생성할 테이블의 열(Column)에 대한 속성을 전달받고, 최종적으로 SqlCommand 클래스를 통해 테이블 생성 쿼리문(CREATE TABLE ~ )을 전달해보겠습니다. 테이블을 생성하기 위한 윈폼은 아래와 같습니다. Textbox 및 Button, DataGridView을 활용한 간단한 윈폼이기도하고, 본 글은 윈폼보단 테이블을 생성하는 쿼리문을 전달하는 과정에 초점을 맞추어서 설명을 할 예정입니다. 따라서 윈폼에대한 구체적인 설명은 생략하겠습니다. 😀 (INSERT 버튼은 오늘 만든 테이블에 행을 INSERT 하기 위한 폼으로 이동하는 버튼입니다. 따라서 오늘은 신경안쓰셔도 됩니다!!) .. 2022. 8. 15.
[C#] SQL Server - ① : MS-SQL 연결하기 / 어플리케이션 구성 파일(App.config) 사용해서 DB 연결 문자열 가져오기 SQL Server - ① : MS-SQL 연결(연동) 하기 많은 DB 종류중에 Microsoft사의 DB 프로그램인 MS-SQL과 연결해서 프로시저를 사용해 테이블을 조회하고 관련 데이터를 추출하는 부분을 정리해볼 예정입니다. 아마 3~4개의 글로 나누어서 정리가 될거 같은데 첫번째 글은 SQL Server와 연결하는 부분입니다 . ✔ SQL Server = MS-SQL 입니다. 용어가 혼합되서 나올수도 있으나 혼동하지 마세요!! Visual Studio에서 프로젝트를 생성하면 생기는 어플리케이션 구성 파일(App.config)을 사용해서 DB 연결 문자열을 가져오고, 이 문자열을 바탕으로 MS-SQL에 연결하는 과정까지 정리해보도록 하겠습니다.😄 앞으로 SQL Server와 관련된 모든 코드는 Nug.. 2022. 8. 12.
[C#] NLog를 사용한 로그 수집 방법(Logging) NLog를 사용한 로그 수집 방법(Logging) 시스템을 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동중의 각종 정보를 기록하는것을 로깅이라 한다. C#에서 이러한 로그 데이터를 수집하고 관리하기위해 쉽게 사용할 수 있는 라이브러리가 대표적으로 NLog와 Log4Net 이 있습니다. 오늘은 처음 사용하는 사람들에게는 더 쉽게 설정하고 사용할 수 있다는 NLog에 대해 알아보도록 하겠습니다!! 본 글은 간단한 문제를 해결해나가면서 NLog 사용법을 알아보도록 하겠습니다. ✅ 문제 사용자가 Console 창에 임의의 숫자 2개를 입력하면 나누기 연산을 수행하고, 그 결과를 Try Catch 문을 통해 Log를 기록한다. 정상적으로 나누기 연산.. 2022. 7. 26.