[C# 강좌 31강] ADO (데이터베이스) -1

공부/C#  2012.10.10 09:00



안녕하세요 개발자 명월입니다.

이번 포스팅부터는 C#으로 데이터 베이스를 접속하는 것에 대해 알아보도록 하겠습니다. 저는 MSSQL 기준으로 접속하는 방법에 대해 설명하겠습니다. 기타 오라클, Mysql 은 ole 클래스를 사용하는 데 안의 메소드 이름, 사용방법이 일치하므로 약간의 응용만 하면 사용하실 수 있을 것이라고 생각됩니다.

 

먼저 C#에서는 데이터 베이스에 접근 할 수 있는 방법이 두가지입니다. 소켓 처럼 연결지향형 방식과 비연결지향형 방식이 존재 합니다. 그 두방식은 어느것이 더 좋다 나쁘다 할 수는 없고 그 두 방식의 특성이 있으므로 그 특성에 맞추어 사용하여야 하겠습니다.

이번 포스팅에서는 연결지향형에 대해 알아보가 다음 비연결지향형, 그리고 그 차이에 대해서 알아보도록 하겠습니다.

 

연결 지향형은 먼저 SqlDataReader 를 사용합니다.

먼저 데이터 베이스 접속에 필요한 커넥션과 커맨드의 MSDN 부터 알아보도록 하겠습니다.

MSDN - SqlConnection 클래스

            SqlCommand 클래스

            SqlDataReader 클래스

 

 

 

 

역시 설명 보다는 예제로 살펴보는 편이 이해하기 쉽겠습니다.

먼저 데이터 예제는 MSSQL 강좌에서 설명했던 예제로 사용하겠습니다.

 

[MSSQL 강좌 4강] 테이블 생성과 데이터 삽입 바로가기

 

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Text;
  4 using System.Data;
  5 using System.Data.SqlClient;
  6
  7 namespace Blog20121009
  8 {
  9     class Program
10     {
11         static void Main(string[] args)
12         {
13             new Program();
14             Console.WriteLine("Press Any key...");
15             Console.ReadLine();
16         }
17         public Program() {
18 SqlConnection conn = new SqlConnection("Data Source=TAMAI-PC\\SQLEXPRESS;Database=Myung;User Id=sa;Password=1111");
19             SqlCommand cmd = new SqlCommand();
20             cmd.Connection = conn;
21             cmd.CommandText = "select * from Test_table";
22             cmd.CommandType = CommandType.Text;
23             conn.Open();
24             SqlDataReader dr = cmd.ExecuteReader();
25             Console.WriteLine("idx\tName\t학교\t학년");
26             while (dr.Read()) {
27                 Console.WriteLine("{0}\t{1}\t{2}\t{3}",dr.GetValue(0),dr.GetValue(1),dr.GetValue(2),dr.GetValue(3));
28             }
29             conn.Close();
30         }
31     }
32 }
33

 

 

 

서버이름과 ID, 패스워드, 데이터베이스명을 잘 알아둡니다.

 

 

네임스페이스 Data 와 Data.SqlClient 를 선언합니다.

(※ 여기서 오라클과 Mysql 을 Data.SqlClient 대신에 OleDB를 사용하면 됩니다.)

 

 

서버정보를 입력하고 쿼리를 넣어서 디버그 해보겠습니다.

 

 

디비의 정보가 나왔습니다. 이로써 디비 연결이 완료가 된것 입니다.

 


댓글 0개가 달렸습니다.
댓글쓰기