C# 7

[C#] MSSQL DB에 접속 및 쿼리문 사용.

안녕하세요. 회원여러분. 오늘은 C#으로 여러 데이터베이스(이하 DB) 플랫폼 중 MSSQL를 접속하여 데이터 조회/등록/수정/삭제까지 해보겠습니다. 아래의 내용이 너무 길다면 포스팅하단에 샘플프로그램이 있으니 참고하셔도 됩니다. 먼저 DB를 접속하려면 기본적으로 5가지 정보가 필요합니다. ● 서버 IP ● 서버 포트 ● DB명 ● DB 접속 ID ● DB 접속 비밀번호 위 정보를 수집하였다면 C#으로 접속을 시도해 보겠습니다. C#에서 DB접속시 필수 클래스 3가지를 먼저 공부하겠습니다. SqlConnection 클래스 MSSQL DB의 접속을 담당하는 클래스입니다. SqlCommand 클래스 MSSQL DB에 쿼리문을 전달하는 클래스입니다. SqlDataAdapter 클래스 MSSQL DB에서 반환된..

C# 2021.07.31

[StringBuilder] C# StringBuilder 사용하기.

StringBuilder 클래스 String 개체는 변경할 수 없습니다. System.String 클래스에서 메서드 중 하나를 사용할 때마다 메모리에 새 문자열 개체가 생성되므로, 새 개체에 대한 공간을 새로 할당해야 합니다. 문자열을 반복적으로 수정해야 하는 경우 새로운 String 개체 생성과 관련된 오버헤드로 인해 비용이 증가할 수 있습니다. 새 개체를 만들지 않고 문자열을 수정하려는 경우 System.Text.StringBuilder 클래스를 사용할 수 있습니다. 예를 들어 StringBuilder 클래스를 사용하면 루프에서 많은 문자열을 연결할 때 성능이 향상될 수 있습니다. 출처 : https://docs.microsoft.com/ko-kr/dotnet/standard/base-types/st..

C# 2021.07.27

[ini] C# ini 파일 조회/저장/수정. (ini파일에 대하여)

안녕하세요. 회원여러분. 오늘은 C#의 ini파일 조회/저장/수정에 대해 알아보겠습니다. 1. ini파일이란? 응용프로그램 실행시 필요한 초기 정보를 가지고 있는 파일로써, 아스키 파일로 구성되어 있어 일반 텍스트 편집기(메모장 등)로 수정할 수 있습니다. 2. ini파일의 사용 목적. 2.1 사용자가 해당 응용프로그램을 통해 마지막으로 입력(등록)한 정보를 저장하고, 실행시 출력하도록 사용할 수 있습니다. 2.2 또한 응용프로그램의 수정을 최소화 목적으로 사용할 수 있습니다. 예를들어 응용프로그램에 특정값을 하드코딩할 경우 ini파일에 저장하여 값 수정시 ini파일 수정/재배포를 통해 응용프로그램의 수정을 최소화할 수 있습니다. 3. ini파일의 구성. 색션(Section), 키(Key), 값(Valu..

C# 2021.07.26

[C#] 프로그램 중복실행을 방지하자!

안녕하세요. 회원여러분. 오늘은 C#의 프로그램 중복실행 방지 코드에 대해 알아보겠습니다. 중복실행의 대표적인 예가 윈도우에서 제공하는 메모장이나 계산기와 같은 프로그램입니다. 이들 프로그램과는 다르게 중복실행이 되면 안되는 게임이나, 데이터 등록 목적의 프로그램은 다음과 같은 코드를 사용하면 될 것입니다. /// /// 프로그램의 실행여부를 확인하는 함수. /// /// public static bool IsRunningAppCheck() { System.Diagnostics.Process Process = System.Diagnostics.Process.GetCurrentProcess(); string ProcName = Process.ProcessName; if (System.Diagnostics...

C# 2021.07.14

[C#] 현재 PC에 설치되어 있는 글꼴 정보 가져오기.

안녕하세요. 회원여러분. 오늘은 C#의 현재 PC에 설치되어 있는 글꼴 정보를 알아보겠습니다. C#에서 기본적으로 글꼴 정보를 가져오는 방법에는 두가지가 있으며, 다음과 같습니다. 1. InstalledFontCollection을 사용하여 글꼴 가져오기. > 설치된 모든 글꼴을 가져옵니다. 반환값 : FontFamily 개체의 배열. 2. FontFamily.Families를 사용하여 글꼴 가져오기. > 현재 그래픽 컨텍스트와 관련된 모든 FontFamily 개체를 포함하는 배열을 반환합니다. 반환값 : FontFamily 개체의 배열. 위 두가지 방법 모두 FontFamily 개체의 배열을 반환함에 따라 어느것을 사용하더라도 같은 결과값을 가져올 수 있으나, 클래스 설명만 놓고 보면 InstalledF..

C# 2021.07.13

[C#] DataTable 두개를 Merge 하기. (합치기)

안녕하세요. 회원여러분. 오늘은 C# DataTable의 Merge에 대해 알아보도록 하겠습니다. Merge : [동사] 합병[병합]하다, 합치다 위 뜻처럼 두개의 DataTable 중 하나의 DataTable 기준으로 두 DataTable를 합치는 함수입니다. DataTable의 데이터를 가공 중 분산되어 DataTable을 하나의 DataTable로 합칠 때 사용할 수 있습니다. ※ DataTable의 Join함수는 DataTable간의 특정 칼럼값을 비교하여 데이터 행의 연결을 하는 함수며, Merge함수는 DataTable간의 데이터를 하나의 DataTable로 합치는 것 입니다. /// /// 데이터테이블 합치는 함수. /// /// 메인 데이터테이블. 이 테이블의 칼럼명을 기준으로 합쳐진다. ..

C# 2021.07.12

[C#] PC 정보를 알아보자.

[C#] PC정보를 알아보자. 안녕하세요. 회원여러분. 오늘은 C#언어를 사용해서 현재 PC의 사양 및 기타 정보를 알아보도록 하겠습니다. 우선 아래의 소스를 사용하려면 System.Management.DLL을 참조하여야 하며, using System.IO; //저장공간 조회시 필요. using System.Management; //CPU, 그래픽, OS 등 조회시 필요 using System.Net; //IP조회에서 필요. using System.Net.Sockets; //IP조회에서 필요. 을 추가하여야 정상 작동 됩니다. 1. OS 정보 private string GetOSInfo() { ManagementObjectSearcher searcher = new ManagementObjectSearch..

C# 2021.07.11