C# 데이터베이스 연결: SQL Server 연결 방법(예제)
다양한 유형의 데이터베이스에서 작동할 수 있습니다. 다음과 같은 가장 일반적인 데이터베이스에서 작동할 수 있습니다. Oracle and Microsoft SQL 서버.
또한 다음과 같은 새로운 형태의 데이터베이스에서도 작동할 수 있습니다. MongoDB and MySQL.
데이터베이스 연결의 기본
C# 및 .Net은 대부분의 데이터베이스에서 작동할 수 있으며, 가장 일반적인 것은 Oracle and Microsoft SQL Server. 그러나 모든 데이터베이스에서 작업하는 논리는 대부분 동일합니다.
우리의 예에서는 다음 작업을 살펴보겠습니다. Microsoft SQL Server 우리 데이터베이스로. 학습 목적으로 다운로드하여 사용할 수 있습니다. Microsoft SQL Server 익스프레스 에디션는 에서 제공하는 무료 데이터베이스 소프트웨어입니다. Microsoft.
데이터베이스를 사용할 때 모든 데이터베이스에 공통적으로 적용되는 개념은 다음과 같습니다.
- 연결 – 데이터베이스의 데이터로 작업하려면 첫 번째 확실한 단계는 연결입니다. 데이터베이스에 대한 연결은 일반적으로 아래 언급된 매개변수로 구성됩니다.
- 데이터베이스 이름 또는 데이터 소스 – 첫 번째 중요한 매개변수는 연결을 설정해야 하는 데이터베이스 이름입니다. 각 연결은 한 번에 하나의 데이터베이스에서만 작동할 수 있습니다.
- 신임장 – 다음으로 중요한 측면은 데이터베이스 연결을 설정하는 데 사용해야 하는 사용자 이름과 비밀번호입니다. 사용자 이름과 비밀번호에 데이터베이스에 연결하는 데 필요한 권한이 있는지 확인합니다.
- 선택적 매개변수 – 각 데이터베이스 유형에 대해 .net이 데이터베이스 연결을 처리하는 방법에 대한 자세한 정보를 제공하기 위해 선택적 매개변수를 지정할 수 있습니다. 예를 들어, 연결이 활성 상태를 유지해야 하는 기간에 대한 매개변수를 지정할 수 있습니다. 특정 기간 동안 작업이 수행되지 않으면 매개변수는 연결을 닫아야 하는지 여부를 결정합니다.
- 데이터베이스에서 데이터 선택 – 연결이 설정되면 다음으로 중요한 측면은 데이터베이스에서 데이터를 가져오는 것입니다. C#은 데이터베이스에 대해 'SQL' 선택 명령을 실행할 수 있습니다. 'SQL' 문을 사용하여 데이터베이스의 특정 테이블에서 데이터를 가져올 수 있습니다.
- 데이터베이스에 데이터 삽입 – C#을 사용하여 데이터베이스에 레코드를 삽입할 수도 있습니다. 데이터베이스에 삽입해야 하는 각 행에 대해 C#으로 값을 지정할 수 있습니다.
- 데이터베이스에 데이터 업데이트 – C#을 사용하여 기존 레코드를 데이터베이스로 업데이트할 수도 있습니다. 데이터베이스로 업데이트해야 하는 각 행에 대해 C#에서 새 값을 지정할 수 있습니다.
- 데이터베이스에서 데이터 삭제 – C#을 사용하여 데이터베이스의 레코드를 삭제할 수도 있습니다. 삭제해야 할 행을 지정하는 선택 명령은 C#에서 지정할 수 있습니다.
좋습니다. 이제 각 연산의 이론을 살펴보았으니, 다음 섹션으로 넘어가서 C#에서 데이터베이스 연산을 수행하는 방법을 살펴보겠습니다.
C#의 SQL 명령
C#의 Sql명령 사용자가 데이터베이스에 명령을 쿼리하고 보낼 수 있도록 허용합니다. SQL 명령은 SQL 연결 개체에 의해 지정됩니다. 쿼리 결과에는 ExecuteReader 메서드가, 삽입, 업데이트, 삭제 명령에는 ExecuteNonQuery라는 두 가지 메서드가 사용됩니다. 이는 다양한 명령에 가장 적합한 방법입니다.
C#을 데이터베이스에 연결하는 방법
이제 데이터베이스에 대한 연결을 생성하기 위해 유지되어야 하는 코드를 살펴보겠습니다. 이 예에서는 Demodb라는 이름의 데이터베이스에 연결합니다. 데이터베이스에 연결하는 데 사용되는 자격 증명은 다음과 같습니다.
- 사용자 이름 – sa
- 비밀번호 – 데모123
우리는 간단한 것을 볼 것입니다 Windows 양식 신청 데이터베이스 작업을 하려고 합니다. 데이터베이스에 연결하는 데 사용되는 "Connect"라는 간단한 버튼이 있습니다.
이를 달성하기 위해 아래 단계를 따르십시오.
단계 1) 첫 번째 단계는 Visual Studio에서 새 프로젝트를 만드는 것입니다. Visual Studio를 시작한 후 메뉴 옵션 New->Project를 선택해야 합니다.
단계 2) 다음 단계는 프로젝트 유형을 선택하는 것입니다. Windows 양식 신청. 여기서는 프로젝트의 이름과 위치도 언급해야 합니다.
- 프로젝트 대화 상자에서는 Visual Studio에서 다양한 유형의 프로젝트를 만드는 데 필요한 다양한 옵션을 볼 수 있습니다. Windows 왼쪽에 있는 옵션.
- 우리가 클릭하면 Windows 이전 단계의 옵션에서 다음에 대한 옵션을 볼 수 있습니다. Windows 양식 신청서. 이 옵션을 클릭하세요.
- 그런 다음 애플리케이션 이름을 지정합니다. 이 경우에는 "DemoApplication"입니다. 또한 애플리케이션을 저장할 위치도 제공해야 합니다.
- 마지막으로 '확인' 버튼을 클릭하여 Visual Studio에서 프로젝트를 생성하도록 합니다.
단계 3) 이제 도구 상자에서 버튼을 추가하세요. Windows 형태. Button의 text 속성을 Connect로 설정합니다. 이것이 어떻게 보일 것인가
단계 4) 이제 폼을 더블클릭하여 버튼 클릭 이벤트에 대한 코드에 이벤트 핸들러를 추가합니다. 이벤트 핸들러에 아래 코드를 추가합니다.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DemoApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString; SqlConnection cnn; connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23"; cnn = new SqlConnection(connetionString); cnn.Open(); MessageBox.Show("Connection Open !"); cnn.Close(); } } }
코드 설명:-
- 첫 번째 단계는 연결 문자열과 SQL Server 데이터베이스에 대한 연결을 만드는 데 사용되는 변수를 만드는 것입니다.
- 다음 단계는 연결 문자열을 만드는 것입니다. 연결 문자열은 C#에서 연결 문자열을 이해하도록 올바르게 지정해야 합니다. 연결 문자열은 다음 부분으로 구성됩니다.
- 데이터 소스 – 데이터베이스가 상주하는 서버의 이름입니다. 우리의 경우에는 WIN-50GP30FGO75라는 시스템에 있습니다.
- 초기 카탈로그는 데이터베이스 이름을 지정하는 데 사용됩니다.
- 사용자 ID와 비밀번호는 데이터베이스에 연결하는 데 필요한 자격 증명입니다.
- 다음으로 연결 문자열을 변수 cnn에 할당합니다. SqlConnection 유형인 cnn 변수는 데이터베이스에 대한 연결을 설정하는 데 사용됩니다.
- 다음으로 cnn 변수의 Open 메서드를 사용하여 데이터베이스에 대한 연결을 엽니다. 그런 다음 연결이 설정되었다는 메시지를 사용자에게 표시합니다.
- 작업이 성공적으로 완료되면 데이터베이스에 대한 연결을 닫습니다. 데이터베이스에서 다른 작업을 수행할 필요가 없다면 항상 데이터베이스에 대한 연결을 닫는 것이 좋습니다.
위의 코드가 설정되고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다. 폼이 표시되면 Connect 버튼을 클릭합니다.
산출:-
"연결" 버튼을 클릭하면 출력에서 데이터베이스 연결이 설정되었음을 볼 수 있습니다. 따라서 메시지 상자가 표시되었습니다.
SqlDataReader를 사용하여 데이터에 액세스
C#을 사용하여 데이터에 액세스하는 방법을 보여 주기 위해 데이터베이스에 다음과 같은 아티팩트가 있다고 가정해 보겠습니다.
- Demotb라는 테이블입니다. 이 테이블은 다양한 튜토리얼의 ID와 이름을 저장하는 데 사용됩니다.
- 테이블에는 2개의 열이 있습니다. 하나는 "TutorialID"이고 다른 하나는 "TutorialName"입니다.
- 현재 테이블에는 아래와 같이 2개의 행이 있습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
1 | C# |
2 | ASP.Net |
폼의 코드를 변경하여 이 데이터를 쿼리하고 Messagebox를 통해 정보를 표시할 수 있도록 합시다. 아래에 입력한 모든 코드는 이전 섹션의 데이터 연결을 위해 작성된 코드의 연속입니다.
단계 1) 사용자가 쉽게 이해할 수 있도록 코드를 두 부분으로 나누겠습니다.
- 첫 번째는 데이터베이스에서 데이터를 읽는 데 사용되는 "select" 문을 구성하는 것입니다.
- 그런 다음 데이터베이스에 대해 "select" 문을 실행하고 그에 따라 모든 테이블 행을 가져옵니다.
코드 설명:-
- 첫 번째 단계는 다음 변수를 만드는 것입니다.
- SQLCommand – 'SQLCommand'는 C#에서 정의된 클래스입니다. 이 클래스는 데이터베이스에서 읽고 쓰는 작업을 수행하는 데 사용됩니다. 따라서 첫 번째 단계는 이 클래스의 변수 유형을 만드는 것입니다. 이 변수는 데이터베이스에서 데이터를 읽는 후속 단계에서 사용됩니다.
- DataReader 개체는 SQL 쿼리에 지정된 모든 데이터를 가져오는 데 사용됩니다. 그런 다음 데이터 판독기를 사용하여 모든 테이블 행을 하나씩 읽을 수 있습니다.
- 그런 다음 2개의 문자열 변수를 정의합니다. 하나는 SQL 명령 문자열을 보유하는 "SQL"입니다. 다음은 모든 테이블 값을 포함하는 "출력"입니다.
- 다음 단계는 데이터베이스에 사용될 SQL 문을 정의하는 것입니다. 우리의 경우에는 “Demotb에서 TutorialID, TutorialName을 선택하세요”입니다. 그러면 decotb 테이블에서 모든 행을 가져옵니다.
- 다음으로 데이터베이스에 대해 SQL 문을 실행하는 데 사용되는 명령 개체를 만듭니다. SQL 명령에서는 연결 개체와 SQL 문자열을 전달해야 합니다.
- 다음으로, decotb 테이블에서 모든 행을 가져오는 data reader 명령을 실행합니다.
- 이제 테이블의 모든 행이 있으므로 행을 하나씩 액세스하는 메커니즘이 필요합니다. 이를 위해 while 문을 사용하겠습니다. while 문은 데이터 판독기의 행에 한 번에 하나씩 액세스하는 데 사용됩니다. 그런 다음 GetValue 메서드를 사용하여 TutorialID 및 TutorialName의 값을 가져옵니다.
단계 2) 마지막 단계에서는 사용자에게 출력을 표시하고 데이터베이스 작업과 관련된 모든 객체를 닫습니다.
코드 설명:-
- 메시지를 사용하여 출력 변수의 값을 표시하여 코드를 계속하겠습니다.Box. 출력 변수에는 decotb 테이블의 모든 값이 포함됩니다.
- 우리는 마침내 데이터베이스 작업과 관련된 모든 객체를 닫습니다. 이것은 항상 좋은 관행임을 기억하세요.
위의 코드가 설정되고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다. 폼이 표시되면 Connect 버튼을 클릭합니다.
산출:-
출력에서 프로그램이 데이터베이스에서 값을 가져올 수 있었음을 분명히 알 수 있습니다. 그런 다음 데이터가 메시지 상자에 표시됩니다.
C# 데이터베이스에 삽입
데이터 액세스와 마찬가지로 C#에도 데이터베이스에 레코드를 삽입하는 기능이 있습니다. 데이터베이스에 레코드를 삽입하는 방법을 보여주기 위해 위에서 사용된 것과 동일한 테이블 구조를 사용하겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
1 | C# |
2 | ASP.Net |
다음 행을 테이블에 삽입할 수 있도록 폼의 코드를 변경해 보겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
3 | VB.Net |
그럼 다음 코드를 우리 프로그램에 추가해 봅시다. 아래 코드 조각은 우리 데이터베이스에 기존 레코드를 삽입하는 데 사용될 것입니다.
코드 설명:-
- 첫 번째 단계는 다음 변수를 만드는 것입니다.
- SQLCommand – 이 데이터 유형은 데이터베이스에 대해 SQL 작업을 수행하는 데 사용되는 객체를 정의하는 데 사용됩니다. 이 객체는 SQL Server 데이터베이스에 대해 실행되는 SQL 명령을 보유합니다.
- DataAdapter 객체는 삽입, 삭제, 업데이트 명령과 같은 특정 SQL 작업을 수행하는 데 사용됩니다.
- 그런 다음 SQL 명령 문자열을 보관할 "SQL"이라는 문자열 변수를 정의합니다.
- 다음 단계는 데이터베이스에 사용될 SQL 문을 실제로 정의하는 것입니다. 우리의 경우 TutorialID=1 및 TutorialName=VB.Net의 레코드를 삽입하는 insert 문을 실행합니다.
- 다음으로 데이터베이스에 대해 SQL 문을 실행하는 데 사용되는 명령 개체를 만듭니다. SQL 명령에서는 연결 개체와 SQL 문자열을 전달해야 합니다.
- 데이터 어댑터 명령에서 삽입 SQL 명령을 어댑터에 연결합니다. 그런 다음 데이터베이스에 대해 삽입 문을 실행하는 데 사용되는 ExecuteNonQuery 메서드를 실행합니다. 'ExecuteNonQuery' 메서드는 C#에서 데이터베이스에 대해 모든 DML 문을 실행하는 데 사용됩니다. DML 문이란 삽입, 삭제 및 업데이트 작업을 의미합니다. C#에서 테이블에 대해 이러한 문을 실행하려면 ExecuteNonQuery 메서드를 사용해야 합니다.
- 우리는 마침내 데이터베이스 작업과 관련된 모든 객체를 닫습니다. 이것은 항상 좋은 관행임을 기억하세요.
위의 코드가 설정되고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다. 폼이 표시되면 Connect 버튼을 클릭합니다.
산출:-
SQL Server Express에 접속하여 Demotb 테이블의 행을 보면 아래와 같이 행이 삽입된 것을 볼 수 있습니다.
C# 업데이트 데이터베이스
데이터 액세스와 마찬가지로 C#에는 데이터베이스의 기존 레코드를 업데이트하는 기능도 있습니다. 데이터베이스에 레코드를 업데이트하는 방법을 보여주기 위해 위에서 사용된 것과 동일한 테이블 구조를 사용하겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net |
다음 행을 업데이트할 수 있도록 폼의 코드를 변경해 보겠습니다. 이전 행 값은 TutorialID가 "3"이고 Tutorial Name이 "VB.Net"입니다. Tutorial ID의 행 값은 동일하게 유지하면서 "VB.Net complete"로 업데이트합니다.
이전 행
튜토리얼ID | 튜토리얼 이름 |
---|---|
3 | VB.Net |
새 행
튜토리얼ID | 튜토리얼 이름 |
---|---|
3 | VB.Net 완료 |
그럼 다음 코드를 우리 프로그램에 추가해 봅시다. 아래 코드 조각은 우리 데이터베이스의 기존 레코드를 업데이트하는 데 사용될 것입니다.
코드 설명이 포함된 C# SqlCommand 예:-
- 첫 번째 단계는 다음 변수를 만드는 것입니다.
- SQLCommand – 이 데이터 유형은 데이터베이스에 대해 SQL 작업을 수행하는 데 사용되는 객체를 정의하는 데 사용됩니다. 이 객체는 SQL Server 데이터베이스에 대해 실행되는 SQL 명령을 보유합니다.
- dataadapter 객체는 삽입, 삭제, 업데이트 명령과 같은 특정 SQL 작업을 수행하는 데 사용됩니다.
- 그런 다음 SQL 명령 문자열을 보관할 SQL인 문자열 변수를 정의합니다.
- 다음 단계는 데이터베이스에 사용될 SQL 문을 정의하는 것입니다. 우리의 경우 업데이트 문을 실행하면 Tutorial 이름이 "VB.Net Complete"로 업데이트되고 TutorialID는 변경되지 않고 3으로 유지됩니다.
- 다음으로 데이터베이스에 대해 SQL 문을 실행하는 데 사용되는 명령 개체를 만듭니다. SQL 명령에서 연결 개체와 SQL 문자열을 전달했습니다.
- 데이터 어댑터 명령에서 이제 insert SQL 명령을 어댑터에 연결합니다. 그런 다음 데이터베이스에 대해 Update 문을 실행하는 데 사용되는 ExecuteNonQuery 메서드도 실행합니다.
- 우리는 마침내 데이터베이스 작업과 관련된 모든 객체를 닫습니다. 이것은 항상 좋은 관행임을 기억하세요.
위의 코드가 설정되고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다. 폼이 표시되면 Connect 버튼을 클릭합니다.
산출:-
실제로 SQL Server Express에 접속하여 Demotb 테이블의 행을 보면 아래와 같이 행이 성공적으로 업데이트된 것을 확인할 수 있습니다.
기록 삭제
데이터 액세스와 마찬가지로 C#에는 데이터베이스에서 기존 레코드를 삭제하는 기능도 있습니다. 데이터베이스에서 레코드를 삭제하는 방법을 보여주기 위해 위에서 사용된 것과 동일한 테이블 구조를 사용하겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net 완료 |
다음 행을 삭제할 수 있도록 양식의 코드를 변경해 보겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
3 | VB.Net 완료 |
그럼 다음 코드를 우리 프로그램에 추가해 봅시다. 아래 코드 조각은 우리 데이터베이스의 기존 레코드를 삭제하는 데 사용될 것입니다.
코드 설명:-
- 이 코드의 주요 차이점은 이제 삭제 SQL 문을 실행한다는 것입니다. delete 문은 Demotb 테이블에서 TutorialID 값이 3인 행을 삭제하는 데 사용됩니다.
- 데이터 어댑터 명령에서 이제 insert SQL 명령을 어댑터에 연결합니다. 그런 다음 데이터베이스에 대해 삭제 문을 실행하는 데 사용되는 ExecuteNonQuery 메서드도 실행합니다.
위의 코드가 설정되고 Visual Studio를 사용하여 프로젝트를 실행하면 아래 출력이 표시됩니다. 폼이 표시되면 Connect 버튼을 클릭합니다.
산출:-
실제로 SQL Server Express에 접속하여 Demotb 테이블의 행을 보면 아래와 같이 해당 행이 성공적으로 삭제된 것을 확인할 수 있습니다.
데이터에 컨트롤 연결
이전 섹션에서는 SQLCommand 및 SQLReader와 같은 C# 명령을 사용하여 데이터베이스에서 데이터를 가져오는 방법을 살펴보았습니다. 또한 테이블의 각 행을 읽고 메시지 상자를 사용하여 테이블의 내용을 사용자에게 표시하는 방법도 살펴보았습니다.
하지만 분명히 사용자는 메시지 상자를 통해 전송된 데이터를 보고 싶어하지 않으며 데이터를 표시하는 더 나은 컨트롤을 원할 것입니다. 아래 데이터 구조를 표로 살펴보겠습니다.
튜토리얼ID | 튜토리얼 이름 |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net 완료 |
위의 데이터 구조에서 사용자는 이상적으로 TutorialID와 Tutorial Name이 텍스트 상자에 표시되는 것을 보고 싶어할 것입니다. 둘째, 테이블에서 다음 레코드나 이전 레코드로 이동할 수 있는 일종의 버튼 컨트롤을 원할 수 있습니다. 이를 위해서는 개발자 측에서 약간의 추가 코딩이 필요합니다.
좋은 소식은 C#이 컨트롤을 데이터에 바인딩할 수 있도록 하여 추가적인 코딩 작업을 줄일 수 있다는 것입니다. 즉, C#은 테이블의 특정 필드에 따라 텍스트 상자의 값을 자동으로 채울 수 있습니다.
따라서 Windows Form에 텍스트 상자 2개를 가질 수 있습니다. 그런 다음 한 텍스트 상자를 TutorialID 필드에 연결하고 다른 텍스트 상자를 TutorialName 필드에 연결할 수 있습니다. 이 연결은 Visual Studio Designer 자체에서 수행되며 이를 위해 추가 코드를 작성할 필요가 없습니다.
Visual Studio는 링크가 작동하도록 코드를 작성합니다. 그런 다음 애플리케이션을 실행하면 텍스트 상자 컨트롤이 자동으로 데이터베이스에 연결되고 데이터를 가져와 텍스트 상자 컨트롤에 표시합니다. 이를 달성하기 위해 개발자 측에서 코딩할 필요가 없습니다.
컨트롤 바인딩을 달성하는 방법에 대한 코드 예제를 살펴보겠습니다.
우리의 예에서, 우리는 윈도우 폼에 2개의 텍스트 상자를 만들 것입니다. 이들은 각각 튜토리얼 ID와 튜토리얼 이름을 나타낼 것입니다. 이들은 그에 따라 데이터베이스의 튜토리얼 ID와 튜토리얼 이름 필드에 바인딩될 것입니다.
이를 달성하기 위해 아래에 언급된 단계를 따르겠습니다.
단계 1) 기본 폼을 구성합니다. 폼에서 2개의 구성 요소(라벨과 텍스트 상자)를 끌어서 놓습니다. 그런 다음 다음 하위 단계를 수행합니다.
- 첫 번째 라벨의 텍스트 값을 TutorialID로 입력하세요.
- 두 번째 레이블의 텍스트 값을 TutorialName으로 입력합니다.
- 첫 번째 텍스트 상자의 이름 속성을 txtID로 지정합니다.
- 두 번째 텍스트 상자의 이름 속성을 txtName으로 지정합니다.
위에서 언급한 단계를 수행한 후의 양식은 다음과 같습니다.
단계 2) 다음 단계는 바인딩 네비게이터를 폼에 추가하는 것입니다. 바인딩 네비게이터 컨트롤은 테이블의 각 행을 자동으로 탐색할 수 있습니다. 바인딩 네비게이터를 추가하려면 도구 상자로 가서 폼으로 드래그하기만 하면 됩니다.
단계 3) 다음 단계는 데이터베이스에 바인딩을 추가하는 것입니다. 이는 Textbox 컨트롤 중 하나로 이동하여 DataBindings->Text 속성을 클릭하여 수행할 수 있습니다. Binding Navigator는 애플리케이션에서 데이터베이스로의 링크를 설정하는 데 사용됩니다.
이 단계를 수행하면 Visual Studio에서 자동으로 필요한 코드를 애플리케이션에 추가하여 애플리케이션이 데이터베이스에 연결되도록 합니다. 일반적으로 Visual Studio의 데이터베이스는 프로젝트 데이터 소스라고 합니다. 따라서 애플리케이션과 데이터베이스 간에 연결이 설정되었는지 확인하려면 첫 번째 단계는 프로젝트 데이터 소스를 만드는 것입니다.
다음 화면이 나타납니다. 링크 "프로젝트 데이터 소스 추가"를 클릭합니다. 프로젝트 데이터 소스를 클릭하면 마법사가 표시되며, 이를 통해 데이터베이스 연결을 정의할 수 있습니다.
단계 4) 프로젝트 데이터 소스 추가 링크를 클릭하면 demotb 데이터베이스에 대한 연결을 만드는 데 사용되는 마법사가 표시됩니다. 다음 단계는 마법사의 각 단계에서 구성해야 할 사항을 자세히 보여줍니다.
- 팝업 화면에서 데이터 소스 유형을 데이터베이스로 선택한 후 다음 버튼을 클릭합니다.
- 다음 화면에서는 데이터베이스에 대한 연결 문자열 생성을 시작해야 합니다. 애플리케이션이 데이터베이스에 대한 연결을 설정하려면 연결 문자열이 필요합니다. 여기에는 서버 이름, 데이터베이스 이름, 드라이버 이름과 같은 매개변수가 포함됩니다.
- 새 연결 버튼을 클릭하세요.
- 데이터 소스를 다음과 같이 선택하세요. Microsoft SQL Server
- 계속 버튼을 클릭하십시오.
- 다음으로 데이터베이스에 연결하려면 자격 증명을 추가해야 합니다.
- SQL Server가 상주하는 서버 이름을 선택하세요.
- 데이터베이스에 연결하려면 사용자 ID와 비밀번호를 입력하세요.
- 데이터베이스를 Demotb로 선택하세요.
- '확인' 버튼을 클릭하세요.
- 이 화면에서는 이전 화면에서 수행한 모든 설정을 확인합니다.
- 연결 문자열에 민감한 데이터를 포함하려면 "예" 옵션을 선택하십시오.
- "다음" 버튼을 클릭하십시오.
- 다음 화면에서 “다음” 버튼을 클릭하여 연결 문자열 생성을 확인하세요.
- 이 단계에서,
- 다음 화면에 표시될 Demotb의 테이블을 선택합니다.
- 이제 이 테이블은 C# 프로젝트에서 사용 가능한 데이터 소스가 됩니다.
마침 버튼을 클릭하면, 비주얼 스튜디오 이제 애플리케이션이 Demotb 테이블의 모든 행을 쿼리할 수 있는지 확인합니다.
단계 5) 이제 데이터 소스가 정의되었으므로 이제 TutorialID 및 TutorialName 텍스트 상자를 demotb 테이블에 연결해야 합니다. TutorialID 또는 TutorialName 텍스트 상자의 Text 속성을 클릭하면 Demotb에 대한 바인딩 소스를 사용할 수 있음을 알 수 있습니다.
첫 번째 텍스트 상자에서는 Tutorial ID를 선택합니다. 두 번째 텍스트 상자에서도 이 단계를 반복하고 필드를 TutorialName으로 선택합니다. 아래 단계는 각 컨트롤로 이동하여 바인딩을 적절히 변경하는 방법을 보여줍니다.
- Tutorial ID 컨트롤을 클릭합니다.
- 속성 창에서 TutorialID 텍스트 상자의 속성을 볼 수 있습니다. 텍스트 속성으로 이동하여 아래쪽 화살표 버튼을 클릭합니다.
- 아래쪽 화살표 버튼을 클릭하면 DemotbBinding Source 옵션이 표시됩니다. 그 아래에는 TutorialName 및 TutorialID 옵션이 표시됩니다. 튜토리얼 ID를 선택하세요.
튜토리얼 이름 텍스트 상자에 대해 위의 3단계를 반복합니다.
- 따라서 튜토리얼 이름 텍스트 상자를 클릭하세요.
- 속성 창으로 이동
- 텍스트 속성을 선택하세요.
- DemotbBindingSource 아래에서 TutorialName 옵션을 선택합니다.
단계 6) 다음으로 Demotb 데이터 소스를 가리키도록 BindingNavigator의 바인딩 소스 속성을 변경해야 합니다. 이렇게 하는 이유는 바인딩 탐색기가 참조해야 하는 테이블도 알아야 하기 때문입니다.
바인딩 네비게이터는 테이블에서 다음 또는 이전 레코드를 선택하는 데 사용됩니다. 따라서 데이터 소스가 프로젝트 전체와 텍스트 상자 컨트롤에 추가되더라도 바인딩 네비게이터에도 데이터 소스에 대한 링크가 있는지 확인해야 합니다. 이를 위해 바인딩 네비게이터 개체를 클릭하고 바인딩 소스 속성으로 이동하여 사용 가능한 항목을 선택해야 합니다.
다음으로 바인딩 소스 속성을 변경할 수 있도록 속성 창으로 이동해야 합니다.
위의 모든 단계가 성공적으로 실행되면 아래에 언급된 출력이 표시됩니다.
산출:-
이제 프로젝트가 시작되면 텍스트 상자가 자동으로 테이블에서 값을 가져오는 것을 볼 수 있습니다.
네비게이터에서 다음 버튼을 클릭하면 자동으로 테이블의 다음 레코드로 이동합니다. 그리고 다음 레코드의 값은 자동으로 텍스트 상자에 들어옵니다.
C# 데이터그리드뷰
데이터 그리드는 테이블의 데이터를 그리드 형식으로 표시하는 데 사용됩니다. 사용자가 테이블 데이터를 볼 때 일반적으로 모든 테이블 행을 한 번에 보는 것을 선호합니다. 이는 양식의 그리드에 데이터를 표시할 수 있으면 달성할 수 있습니다.
C#과 Visual Studio에는 내장된 데이터 그리드가 있으며, 이를 사용하여 데이터를 표시할 수 있습니다. 이에 대한 예를 살펴보겠습니다. 이 예에서는 demotb 테이블에서 Tutorial ID와 Tutorial Name 값을 표시하는 데 사용할 데이터 그리드가 있습니다.
단계 1) DataGridView 컨트롤을 도구 상자에서 Visual Studio의 폼으로 드래그합니다. DataGridView 컨트롤은 Visual Studio에서 표의 행을 그리드와 같은 형식으로 표시하는 데 사용됩니다.
단계 2) 다음 단계에서는 데이터 그리드를 데이터베이스에 연결해야 합니다. 마지막 섹션에서는 프로젝트 데이터 원본을 만들었습니다. 이 예에서는 동일한 데이터 소스를 사용해 보겠습니다.
- 먼저 그리드를 선택하고 그리드에 있는 화살표를 클릭해야 합니다. 그러면 그리드 구성 옵션이 나타납니다.
- 구성 옵션에서 데이터 소스를 이전 섹션에서 생성한 데이터 소스인 DemotbBindingSource로 선택하면 됩니다.
위의 모든 단계를 표시된 대로 실행하면 아래에 언급된 출력을 얻게 됩니다.
산출:-
출력에서 그리드가 데이터베이스의 값으로 채워졌음을 확인할 수 있습니다.
요약
- C# SQL은 다음과 같은 데이터베이스에서 작동할 수 있습니다. Oracle and Microsoft SQL Server.
- 이 C# 데이터베이스 튜토리얼에는 데이터베이스 작업에 필요한 모든 명령이 있습니다. 여기에는 데이터베이스에 대한 연결을 설정하는 것이 포함됩니다. C#의 명령을 사용하여 select, update, insert 및 delete와 같은 작업을 수행할 수 있습니다.
- C#의 DataReader 개체는 데이터베이스에서 반환된 모든 데이터를 보관하는 데 사용됩니다. C#의 While 루프를 사용하면 한 번에 하나씩 데이터 행을 읽을 수 있습니다.
- 데이터 어댑터 개체는 데이터베이스에 대한 삽입, 삭제, 업데이트와 같은 SQL 작업을 수행하는 데 사용됩니다.
- C#에서는 테이블의 다양한 필드에 컨트롤을 바인딩할 수 있습니다. C#에서 데이터 소스를 정의하여 바인딩됩니다. 데이터 소스는 데이터베이스에서 데이터를 가져와 컨트롤에 채우는 데 사용됩니다.
- 바인딩 탐색기는 테이블의 행을 자동으로 탐색하는 데 사용됩니다.
- 데이터 그리드 C# 데이터베이스에 연결하여 테이블의 모든 값을 그리드 형식으로 표시할 수 있습니다.