백엔드 개발 C#.Net 튜토리얼 SUNWEN 튜토리얼 - C# 고급 (8)

SUNWEN 튜토리얼 - C# 고급 (8)

Dec 19, 2016 am 10:24 AM

이번 섹션에서 제가 이야기하고 싶은 부분은 모두가 매우 우려하고 관심을 가질 부분입니다. 그리고 제가 튜토리얼 작성을 가장 잘하는 부분이기도 합니다 - ADO 데이터베이스 접근을 생각해보면요. , 작년에 "데이터베이스 액세스"에 대한 일련의 기사를 쓴 것으로 기억합니다. ㅎㅎ 그러니 레코드 세트 같은 것을 이해하기 어렵다면 먼저 내 기사를 읽어 보시기 바랍니다. .가자!

ADO(ActiveX Data Objects, ActiveX Data Objects)란 무엇인가요? ADO는 매우 간단한 아이디어로, 한 가지 방식으로만 데이터에 액세스할 수 있도록 하는 아이디어입니다. 기존 데이터 액세스 기술을 사용하고 이를 통합하는 것입니다. ADO를 이해하지 못한다면 ODBC를 생각해 보십시오. 실제로 우리가 ASP를 수행할 때 ADO를 사용했다는 것을 기억하십니까? ? set conn=Server.CreateObject("ADODB.Connection")을 여러 번 사용해 보셨나요? 예, 그렇습니다. ADO에 대한 몇 가지 개념적인 내용은 직접 확인하시기 바랍니다. 이해하지 마세요. M$가 데이터에 액세스하기 위해 제공하는 도구라고 생각하세요!

좋아요, 다음 예는 M$ access 2000의 데이터베이스를 기반으로 합니다. 그 구조는 다음과 같습니다. 테이블 이름은 Category 이고 파일 이름은 BugTypes.mdb입니다. 빨리 하나 만드세요.

Category ID Category Name
1 Bugbash stuff
2 Appweek Bugs
3 .NET Reports
4 내부 지원

알겠습니다. 먼저 모든 프로그램을 작성한 다음 문장별로 맛보겠습니다.

000: // ADOadosample.cs
001: using System;
002: System.Data 사용;
003: System.Data.ADO 사용;
004:
005: 공용 클래스 MainClass
006: {
007: 공용 정적 void Main( )
008: {
009: // 연결 문자열을 설정하고 명령 문자열 010을 선택합니다. string strAccessConn = "PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
011 : string strAccessSelect = "SELECT * FROM Category";
012:
013: //레코드 세트를 생성하고 카테고리 테이블을 채웁니다
014: DataSet myDataSet = new DataSet();
015: myDataSet.Tables.Add("Categories");
016:
017: //ADO 인스턴스 생성 018: ADOConnection myAccessConn = new ADOConnection(strAccessConn);
019: ADODataSetCommand myAccessDataSetCmd = new ADODataSetCommand( );
020: myAccessDataSetCmd.SelectCommand = new ADOCommand(strAccessSelect,myAccessConn);
021:
022: myAccessConn.Open();
023: 시도
024: {
025: myAccessDataSetCmd.FillDataSet(myDataSet,"범주");
026: }
027: 마지막으로
028: {
029: myAccessConn.Close();
030: }
031:
032: try
033: {
034: // 레코드 세트에는 여러 테이블이 포함될 수 있으므로 이를 배열에 넣습니다. 035: DataTable[] dta = myDataSet.Tables All;
036: foreach (DataTable dt in dta)
037: {
038: Console.WriteLine("Found data table {0}", dt.TableName);
039: }
040:
041: //다음 두 줄의 프로그램은 레코드 세트에서 데이터 세트의 테이블 수를 가져오는 두 가지 방법을 보여줍니다.
042: Console.WriteLine("{0} tables in data set ", myDataSet .Tables.Count);
043: Console.WriteLine("{0} tables in data set", dta.Length);
044: //다음 프로그램 줄은 레코드에서 읽는 방법을 보여줍니다. set은 테이블 이름을 사용하여 정보를 얻습니다
045: Console.WriteLine("{0} 행 in 카테고리 테이블", myDataSet.Tables["Categories"].Rows.Count);
046: / /Column 정보는 데이터베이스에서 자동으로 가져오므로 다음 코드 047을 사용할 수 있습니다. Console.WriteLine("{0} columns in Category table", myDataSet.Tables["Categories"].Columns.Count);
048: DataColumn[] drc = myDataSet.Tables["Categories"].Columns.All;
049: int i = 0;
050: foreach(drc의 DataColumn dc)
051: {
052: //열 첨자, 열 이름 및 데이터 유형을 인쇄합니다. 053: Console.WriteLine("열 이름[{0}]은(는) {1}입니다. 유형은 {2}입니다.",i++, dc.ColumnName, dc .DataType);
054: }
055: DataRow[] dra = myDataSet.Tables["Categories"].Rows.All;
056: foreach(DataRow dr in dra)
057: {
058: //CategoryID 및 CategoryName059 인쇄: Console.WriteLine("CategoryName[{0}]은(는) {1}", dr[0], dr[1]);
060: }
061: }
062: catch(예외 e)
063: {
064: Console.WriteLine("앗 이런. 예외가 발생했습니다:n{0}", e.Message);
065: }
066: }
067: }
이 예는 제가 예를 잘못 선택한 것 뿐인 것 같네요. 하지만 잘 분석해 보면 그래도 이해가 됩니다. . 이제 이 예에서 몇 가지 특별한 사항에 대해 이야기하겠습니다. 첫 번째는 ASP와 달리 명령 문자열이 015에 정확히 이 작업을 수행한다는 점입니다. 행의 Add("Categories") 문입니다. 이는 데이터베이스의 Category 테이블을 채우는 것이 아니라 단지 빈 테이블을 만드는 것이며 025는 실제 데이터를 채우는 것입니다.

이 결과는 다음과 같습니다. 예는 다음과 같습니다.

찾은 데이터 테이블 카테고리
데이터 세트의 테이블 1개
데이터 세트의 테이블 1개
카테고리 테이블의 4개 행
카테고리 테이블의 열 2개
열 이름[0]은 CategoryID, Int32
열 이름[1]은 CategoryName이고, System.String
CategoryName[1]은 Bugbash 항목입니다.
CategoryName[2]은 Appweek Bugs
CategoryName[3]은 .NET 보고서입니다.
CategoryName[4]은 내부 지원입니다
그럼 그만 얘기하자 SUNWEN은 정말 자고 싶어하고 더 이상 음악이 작동하지 않습니다. 하하 이 예를 완전히 이해하려면 많은 노력이 필요합니다.

위 내용은 SUNWEN 튜토리얼 - C# 고급(8) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C#을 사용한 Active Directory C#을 사용한 Active Directory Sep 03, 2024 pm 03:33 PM

C#을 사용한 Active Directory

C#의 액세스 한정자 C#의 액세스 한정자 Sep 03, 2024 pm 03:24 PM

C#의 액세스 한정자

C#의 난수 생성기 C#의 난수 생성기 Sep 03, 2024 pm 03:34 PM

C#의 난수 생성기

C# 데이터 그리드 보기 C# 데이터 그리드 보기 Sep 03, 2024 pm 03:32 PM

C# 데이터 그리드 보기

C# 스트링리더 C# 스트링리더 Sep 03, 2024 pm 03:23 PM

C# 스트링리더

C#의 패턴 C#의 패턴 Sep 03, 2024 pm 03:33 PM

C#의 패턴

C# 스트링라이터 C# 스트링라이터 Sep 03, 2024 pm 03:23 PM

C# 스트링라이터

C#의 BinaryWriter C#의 BinaryWriter Sep 03, 2024 pm 03:22 PM

C#의 BinaryWriter

See all articles