반응형
Today
Total
Recent Posts
Recent Comments
Archives
11-24 00:43
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
관리 메뉴

UD_park's IT story

[C#] DataBase 연결 원리와 방법에 대한 설명 본문

IT - Language/C#

[C#] DataBase 연결 원리와 방법에 대한 설명

kingllzn 2018. 7. 4. 11:59
반응형
SMALL

[이 포스팅은

시작하세요! C# 7.1 프로그래밍의

내용을 발췌하였습니다]

 

[보기용 예제 소스 코드에서 오류 발생시에

댓글이나 방명록에 글을 남겨 주시면 수정/보완하겠습니다]

 

 

 

이번에는 C#으로 DataBase를 연결하는

원리와 방법에 대해서 자세하게 알아보는

포스팅을 시작해보도록 하겠습니다

 

일단 미리 알려드릴 점은

저는 Visual Studio 2017을 사용중이며

DataBase는 Microsoft SQL server 2008 R2 SP2

- Express Edition을 사용하였습니다

 

 

[아래에서 설명할 부분에서

혹시 MySQL을 사용하신다면

밑의 소스코드들 중에서

Sql 이라고 함수 시작하는 모든곳에

Sql 대신에 Mysql이라고 써주시면

MySQL으로도 동작 가능합니다]

 

 

그럼 간단한 원리부터 시작하도록 하겠습니다

 

C#에서 DB(DataBase)로 연결하는 원리는

주소와 DB의 이름, 로그인할 계정 ID와 PW로

이루어져 진행됩니다

 

C#에서 DataBase에 접근할 때,

만약 DataBase가 여러 개라면

(단 하나뿐이더라도 이와 같음)

가장 먼저 주소와 이름으로 위치와

내가 사용할 DataBase를 정확하게

파악합니다

 

그 후 DB 내부의 Data에 접근하기 위해서는

해당 DataBase에 접근 가능하고, data의

등록/수정 등을 할 수있는 권한을 가진 계정의 ID와

Password를 통해서 DB의 내부에 있는

data가 있는곳 까지 접근이 가능합니다

 

간단한 원리에 대한 설명은 마치도록하고

이제부터 소스코드를 보며 방법에 대해서

설명을 이어가도록 하겠습니다

 

코드 소스는 Program.cs와 App.config

두 가지로 살펴보도록 하겠습니다

 

우선 App.config입니다

 

다른 부분은 제외하고 3-5번 줄은

제가 소스코드로 입력해 넣은 부분입니다

바로 저 부분이 DB를 불러오도록 명령하는

소스코드입니다

 

그럼 제가 추가적으로 작성한

소스 코드를 크게 보며 더욱

자세하게 설명해보겠습니다

 

<connectionStrings>
        <add name="TestDB" connectionString="Data Source=TEST-PC\UD;

        Initial Catalog=TestDB;User ID=sa;Password=*******"/>
</connectionStrings>

 

// DataSource : 사용할 Server의 이름

// Initial Catalog : 사용할 Server 안에 있는 Database 이름

// User ID : Server 안에 있는 Database에 로그인할 계정 ID

// Password : 계정 ID의 비밀번호

 

제일 처음 나오는 connectionStrings은

정확하게 설명된 곳을 찾기가 어려워

저만의 생각으로 정의를 내렸습니다

 

DB나 다른 프로그램들과 프로젝트가

연결된 상황에서 사용되는 모든 문자(Data)

들을 문자열로 묶어 주는 함수가

connectionStrings라고 저는 정의했습니다

 

쉽게 표현하자면 두 명의 사람이

연락하는 수단으로 흔히 사용하는

카카오톡 같은 개념으로 저는 생각했습니다

 

그리고 이 함수는 뒤에 Program.cs에서

ConfigurationManager라는 자료형으로

값을 가져와서 사용합니다

 

함수 안쪽 부분에서 보이는 것처럼

add로 새로운 문자열을 함수에 추가하는데

이때 name으로 구분을 하는 것처럼 보여집니다

 

그런 다음에는 실질적인 데이터의 문자열 부분인

connectionString=(이 부분)을 통해서

DB의 위치와 이름, 계정과 패스워드까지

한 번에 저장하여 사용할 수 있도록 합니다

(실제 Password에는 암호를 눈에 보이게

입력하지만 개인 정보 차원에서 * 으로 가렸습니다)

 

 

다음은 Program.cs 부분입니다

실질적인 프로젝트의 코드는 모두

이쪽 부분에 있다고 생각하셔도

무방합니다

 

(꼭 6-7번 코드 줄을 추가해 주시기 바랍니다)

 

위의 소스코드에서 15번 줄이

제 개인적인 생각으로는 여기서 가장

중요한 코드라고 생각합니다

즉, DataBase에 접근하도록

App.config 부분에서 앞서 설명한것과 같이

DB에 접근하도록 연결해주는 부분이 바로

15번 줄입니다

 

이후 22번 줄에서는 실질적으로

연결되어있는 DB의 길에 닫혀있던

문을 열어주는 코드라고 생각하시면

될 것같습니다

 

이후 24번 코드 부터는 SqlCommand라는

함수를 사용하여 DB 내부의 data들을

출력, 수정, 추가, 삭제 등등의 작업들을

할 수있도록 하는 함수를 사용합니다

(위의 소스코드 예제에서는

출력을 실행하고있습니다)

 

 

 

DB의 Data를 다루는 SqlCommand 함수는

이후에 다룰 DataBase의 조작에 대한

포스팅에서 이어가도록 하겠습니다

 

 

 

혹시 다른것에 대해 궁금하신게

있으시다면

댓글에 달아주세요

 

아는것이면 친절하게 쉽게

모르는것이면 또 제가 알아내서

친절하게 쉽게 포스팅해서

설명해드리겠습니다

반응형
LIST
Comments