응용프로그램에서 데이터베이스 프로그래밍을 도와주는 클래스들의 집합을 의마한다. 닷넷 기반에서 데이터베이스 처리를 위한 가장 기본이 되는 ADO.NET 주요 클래스들.

 

SQL Server, Access, Oracle 같은 관계형 DBMS 접근해서 데이터를 CRUD(입력,출력,조회,삭제) 한다.

 

System.Data.SqlClient namespace System.Data.OleDb namespace

Ado.net 데이터 공급자 라는 개념을 통해서 서로 다른 dbms 연동하는 프로그래밍을 할수 있다.

각각의 DBMS 관련된 명령어들을 서로 다른 네임스페이스에서 관리한다.

 

System.DataSqlClient: ASP.NET 에서 SQL Server 데이터베이스에 대한 모든 처리를 담당하는 클래스를 모아놓은 네임스페이스

System.Data.OleDB: ASP.NET 에서 SQL Server 뎅터베이스를 포함하고 Microsoft Acess 또는 Oracle 같은 dbms 관련 클래스들을 모아놓은 namespace

System.Data.Odbc : 텍스트 파일 또는 ODBC 호환 데이터 원본에 접근하기 위한 클래스들을 제공한다.

System.Data.OracleClient: Oracle 데이터베이스에 접근하기 위한 주요 클래스들을 제공한다.

 

Microsoft SQL Server: 마이크로소프트 사의 dbms sql server.

 

SQL Server 개체 탐색기: Visual Studio sqlservermanagemnet studio 개체 탐색기이다.

 

데이터베이스 연결 문자열: Connection String: C#,ASP.NET 같은 프로그래밍 계층에서 SQL Server 같은 데이터베이스 계층에 접근해서 데이터를 사용하고자 할때에 데이터베이스 연결 문자열이 필요하다.

*데이터베이스 연결 문자열의 필수 구성 요소 네가지

Server(data source): 데이터베이스 서비스 위치를 나타낸다. IP주소 또는 도메인 정보를 입력한다.

Database(DB, Initial Catalog): 데이터베이스 이름을 지정한다.

Use ID(UID): 데이터 베이스에 대한 권한에 있는 사용자 아이디를 입력한다.

Password(PWD): 데이터베이스에 대한 권한이 있는 사용자 비밀번호를 입력한다.

 

System.Data.SqlClient 위한 데이터베이스 연결 문자열 샘플

Server=localhost; Initial Catalog=master; IntegratedSecurity=false;

IntegratedSecurity:

연결에 사용자 ID와 암호가 지정되었는지(false인 경우) 아니면 현재 Windows 계정 자격 증명이 인증에 사용되는지(true인 경우)를 나타내는 부울 값을 가져오거나 설정합니다.

 

.net에서 데이터베이스 처리 관련 주요 클래스

Connection 클래스: dbms 연결 종료

Command 클래스: dbms에서 명령 실행

DataReader 클래스: Select구문의 실행 결괏값 받기

DataSet 클래스: 메모리 상의 데이터베이스(Database) Select 같은 결괏값 저장

DataAdapter 클래스: 명령어 전달 실행 값을 DataSet 클래스에게 전달

DataTable 클래스: DataSet 안에 들어 있는 메모리 상의 테이블(Table)

DataView 클래스: DataSet 안에 들어 있는 메모리 상의 (View)

 

  • SqlConnection 클래스: dbms 연결 종료.
    • ConnectionString: dbms연결 문자열을 설정해 SQL Server 연결한다.
    • State: dbms 연결 상태를 나타내는 ConnectionState 열거형을 반환한다.( ConnectionState.Open, ConnectionState.Closed)
    • Open(): 설정된 dbms 연결 문자열을 사용해 dbms 연결한다.
    • Close(): 현재 열견된 dbms연결을 해제한다.
  • SqlCommand 클래스: dbms에서 명령 실행
    • Connection: 미리 설정되어 있는 커넥션 개체를 지정한다.
    • CommandText: 실행할 SQL 문이나 SP(저장프로시저) 문을 설정한다.
    • CommandType: CommandText속성에서 지정한 구문의 형식을 CommandType 열거형으로 반환한다.
      • CommandType.Text: 일반적인 SQL
      • CommandType.StoredProcedure: 저장 프로시저 구문
      • CommandType.TableDirect: Access DB 전용(테이블명)
    • ExecuteNonQuery(): Select 이외의 구문을 실행하고자 주로 사용한다.
    • ExecuteReader(): Select문을 실행하고 결과를 SqlDataReader 개체로 반환한다. 다중 반환: 레코드의 집합을 반환.
    • ExecuteScalar(): Select문을 실행하고 번째 (필드) 값을 반환한다. 단일 반환: 주로 집계 함수의 결과를 반환.
  • SqlDataReader 클래스: Select구문의 실행 결괏값 받기.
    • FiledCount : Select문의 실행 결과에서 필드() 개수
    • HasRows: Select문을 실행한 반환되는 레코드가 있으면
    • Read(): 레코드가 있는만큼 반복한다.
    • Close(): 데이터 리더 개체를 닫는다.
    • GetXXX(): XXX형식으로 필드(컬럼)값을 반환한다
  • SqlDataAdapter 클래스, DataSet 클래스:
    • DataSet클래스는 '메모리의 데이터베이스' 라고 정의 있다. 메모리에 필드와 레코드로 이루어진 테이블을 여러 올려놓는다. 그리고 해당 테이블간의 관계를 설정하고, 각각의 테이블에서 데이터를 입력,출력,수정,삭제,검색 하는 일반적인 데이터베이스 처리 로직을 구현한다.

 

  • SqlDataAdapter 클래스: DataSet 클래스가 Select 문의 실행 결과를 담아 놓는 그릇 역할을 한다면 SqlDataAdapter 클래스는 Select 문을 실행시키고 실행된 결과값을 가져다가 DataSet 개체에게 채워주는 중간 매개체 역할을 한다. DataSet클래스와 SqlDataAdapter 땔래야 땔수없는관계.
  • CRUD 작업: 데이터베이스 프로그래밍에서, 데이터 입력, 조회, 수정 ,삭제 등을함.

'C#, ASP.NET, CORE, MVC' 카테고리의 다른 글

ASP.NET 과 C#, JAVA, JVM 관계  (0) 2020.02.26
ASP.NET 표준 컨트롤  (0) 2020.02.26
ASP.NET 주요 내장 개체  (0) 2020.02.26
ASP.NET 웹폼  (0) 2020.02.26
ASP.NET 이란  (0) 2020.02.26

+ Recent posts