<성진수의 C# 활용 2>

Similar documents
VS_chapter10

로거 자료실

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

C++ Programming

윈도우시스템프로그래밍

한국 컴퓨터그래픽스(디지털컨텐츠)의 현황과 미래 위기인가? 기회인가?

쉽게 풀어쓴 C 프로그래밊

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

%eb%8f%99%ec%9d%b8-[NO_09]%20%ec%9d%98%ea%b3%bc%eb%8c%80%ed%95%99%20%ec%86%8c%ec%8b%9d%ec%a7%80_F(%ec%b5%9c%ec%a2%85)-2.pdf

Microsoft PowerPoint - chap06-2pointer.ppt

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

PowerPoint Template

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize


PowerPoint Presentation

ALTIBASE 사용자가이드 Templete

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

PowerPoint Presentation

Javascript

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - Java7.pptx

PowerPoint Template

1

어댑터뷰

윈도우시스템프로그래밍

Microsoft PowerPoint - 07-C#-13-ADO.ppt [호환 모드]

C# - SQL Injection Vulnerability Code Main.aspx Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="SQL_INJECTION._Defa

PowerPoint 프레젠테이션

금오공대 컴퓨터공학전공 강의자료

강의 개요

소만사 소개

Microsoft PowerPoint - CSharp-10-예외처리

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

제목 레이아웃

ISP and CodeVisionAVR C Compiler.hwp

Microsoft PowerPoint - additional01.ppt [호환 모드]

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

슬라이드 1

Visual Basic 반복문

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

PowerPoint Presentation

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

JDBC 소개및설치 Database Laboratory

C++ Programming

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

SIGIL 완벽입문

Endpoint Protector - Active Directory Deployment Guide

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft PowerPoint - MonthlyInsighT-2018_9월%20v1[1]

슬라이드 1

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Windows 8에서 BioStar 1 설치하기

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가



<4D F736F F D20BEBEBCA520C4DAB5F920BFACBDC0202D20B8D6C6BC20BEB2B7B9B5E5BFCD20C0CCBAA5C6AE2E646F6378>

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

Microsoft PowerPoint - 04-UDP Programming.ppt

게시판 스팸 실시간 차단 시스템

Studuino소프트웨어 설치

Spring Boot/JDBC JdbcTemplate/CRUD 예제

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

SH100_V1.4

RHEV 2.2 인증서 만료 확인 및 갱신

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

슬라이드 1

PowerPoint Presentation

오버라이딩 (Overriding)

01

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - Chapter 6.ppt

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

슬라이드 1

초보자를 위한 분산 캐시 활용 전략

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

Cluster management software

rmi_박준용_final.PDF

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

설계란 무엇인가?

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

425.pdf

PowerPoint 프레젠테이션

Microsoft PowerPoint - CSharp-12-데이터베이스

Microsoft Word - src.doc

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

Transcription:

< 성진수의 C# 활용 2> 이문서의저작권은저에게있슴당..^^ ** MS SQL to XML ** 이번에는 MS_SQL 2000 과 XML과의관계를좀알아보겠습니다. 우선요즘 DBMS들이 XML과의호환성을놓이는데주력을하고있습니다. 그이유는 XML이이제는자료공유의표준화되었기때문입니다. 웹에서도그렇고모든자료를 XML형식으로주고받는추세이다보니 DBMS 또한 XML을지원해야겠지요.. 그래서이번엔 MS_SQL 2000과 XML과의관계를좀알아볼려고합니다. 저의허접한두번재활용팁이시작하겠습니다. ^^ 우선여러분의컴퓨터에는 VS.NET과 MS_SQL 2000이깔려있어야겠지요.. 깔려있나요? VS.NET은정식판을기준으로작성되었습니다. 이점을유의하시기를.. MS_SQL 2000 에서 XML로데이터가져오기자, MS_SQL 2000에서어떻게 XML을지원하는지부터실습으로함알아보겠습니다. 우선 MS_SQL 2000을설치하시면 [ 쿼리분석기 ] 라는것이생깁니다. 찾으셨나요? 그럼실행시켜보세요..

[ 그림 ] 쿼리분석기 그리고위그림처럼빨간사각형이칠해진곳에서 Northwind 를선택하세요. 이놈을 가지고우리가연습을할것입니다. 자, 다음과같이입력을하고실행을시켜보시면결과값이 XML 형식으로반환되는것을알수 있습니다. select * from customers for xml auto,elements;

[ 그림 XML 로반환된결과화면 ] 아 ~ 그렇습니다. 보통데이터베이스프로그램에서질의를수행시킬때 select * from customers; 라고써서사용했었는데.. 뒤에 for xml auto,elements 라는것을붙이니반환되는값이 XML이구나 ~ 감이오십니까? 닷넷에서는 ADO.NET을이용해데이터베이스응용프로그램을개발합니다. 자바에는 JDBC가있듯이.. ADO.NET에서는기본적으로비연결형의 XML데이터를사용합니다. 바로 DataSet라는놈을이용해서말입니다.. 여기서 ADO.NET에대해서다설명할수는없지만.. 말이나왔으니아주간단하게만소개하겠습니다. 우선 ADO.NET에는 OLEDB제공자와 SQLSERVER제공자 ODBC.NET제공자이렇게 3개의닷넷데이터제공자가있습니다. ODBC.NET은나중에따로추가가된놈이죠. 이제공자에따라프로그램이많이다른가? 전혀다르지않습니다. 똑같습니다. 단지해당제공자의앞글자만바꾸어주면됩니다. 예를들어 OledbConnection 과 SqlConnection 처럼말입니다. ODBC의경우에도마찬가지입니다. 앞강의에서다루어봤으니아시죠? 그럼이제공자는머때문에 3개로나누어져제공되는가? 그것은사용하는 DBMS가무엇이냐에따라구분이되는것입니다. SQLSERVER 제공자는 MS_SQL 7.0 버전이상에서만사용하는 MS_SQL 전용제공자입니다. 말에서도알수있듯이전용입니다. 즉, MS_SQL을사용할때 SQLSERVER제공자를사용하면성능의향상을볼수있다는뜻입니다. 실제로 MS_SQL을사용

하면다이렉트로.. 쫙 ~ 쫙 ~ 연결되값을가져옵니다.. 빠르죠.. 그리고이 MS_SQL 7.0 이상버전을제외한모든것으다.OLEDB나 ODBC를사용합니다. 어 ~ 말이생각보다길어지는군요.. 보다자세한것은다음에하도록하고우선제가여기서이야기하려고하는것은이런제공자를이용해서실제로 DB와연동을이루어데이터값을가지고올때입니다. ADO.NET 이전에는 DB와계속연결을유지하는연결지향형이였습니다. 그러나 ADO.NET에와서는 DataSet이라는놈을이용해서 DB의모든내용을 XML형식으로받아오고연결을끊어버립니다. 그리고가져온 XML데이터는하드디스크처럼물리적인저장공간에저장하는것이아니라.. 메모리에저장하게됩니다. 메모리가하드보다빠르다는것은다아시죠? 그럼메모리에저장을하면좋은점은속도가빠르다는것입니다.. 속도가^^ ASP.NET 도 JSP,PHP 보다엄첨빠른이유는케쉬를이용하기때문이죠.. 말이자꾸길어진다..^^ 하여간이 DatsSet을이용하면내가 XML이다안해도자동으로 XML 형식으로가져옵니다. 하지만이 DataSet이항상좋은것은아닙니다. 서버의메모리를많이사용하기때문에무리를주기때문이죠.. 적절하게상황에맞게사용해야합니다.. 보자자세하게알고싶으시다면.. 제가쓴책을참고하세요..^^ 한빛미디어 IT백두대간닷넷프로그램입니다..( 아 ~ 쑥쓰럽다.. ** ^^ **) 그래서여기서는 DataSet을이용하지않고직접 XML형식으로값을받아오는방법을알아보겠습니다. 폼디자인

[ 그림폼디자인 ] 그림과같이폼을만드세요.. 여기서보기형식이라는것이있는데.. 이보기형식이하는역할을 DB 에서가져온값을 XML 태그를포함해서보여줄것인지, 아니면값만보여줄것인지를선택하는역할을합니다. XML 네임스페이스추가하기 using System.Xml; //XML에관한기능을사용하기위해 XML 네임스페이스추가 using System.Data.SqlClient; //MS SQL 7.0이상버젼에사용되는 MS SQL전용제공자. using System.IO; 다음과같이추가하세요.. 닷넷에서는 XML을다루기위한네임스페이스가따로제공됩니다.

아주유용한놈이죠.. ㅋㅋ 보기형식을저장해둘변수선언 namespace MSSQL_XML public class Form1 : System.Windows.Forms.Form private string select_view = "ReadString()";// 변수추가 ( 이하생략.. 그냥두세요^^) [SQL -> XML 로 ] 버튼기능구현. 버튼을더블클릭하면클릭이벤트가자동으로만들어집니다. 그리고이코드를삽입! private void button1_click(object sender, System.EventArgs e) listbox1.items.clear(); try //SQL 서버와연결하기위한연결객체생성.. MS SQL에기본적으로있는 //northwind 를사용합니다. string source = @"Server=JINS1024;uid=sa;pwd=;database=Northwind"; SqlConnection sqlconn = new SqlConnection(source); sqlconn.open(); //SQL에서수행할질의를생성이때 select * from Customers FOR XML //AUTO,ELEMENTS 것은결과를 XML형식으로하겠다는것임. // 쿼리분석기에서이렇게명령을주면 XML형식으로결과를반환해줌. SqlCommand sqlcmd = new SqlCommand("select * from Customers for xml auto,elements;",sqlconn); // 위에서만든질의를수행시키고반환되는 XML값을 XMLREADER 객체로받음. System.Xml.XmlReader it_xml = sqlcmd.executexmlreader(); // 보기형식에서어떤형태를선택했는가에따른기능구현.. if(select_view == "ReadString()") while(it_xml.read())

listbox1.items.add(it_xml.readstring()); else while(it_xml.read()) listbox1.items.add(it_xml.readouterxml()); sqlconn.close(); catch MessageBox.Show(" 에러발생 "); 움 ~ 길다 ~.. ^^ 길다고생각하지마세요.. 길어보이는것뿐이지.. 별거없습니당.. 라디오버튼구현라디오버튼을더블클릭해서다음의코드를삽입! private void radiobutton2_checkedchanged(object sender, System.EventArgs e) select_view = "ReadString()"; private void radiobutton1_checkedchanged(object sender, System.EventArgs e) select_view = "ReadOuterXml()"; 다하셨나요? 구현끝 ~ 간단하죠? 한번테스트해보세요.. 진짜 XML형식으로반환이되는가.. 위소스에서빨간부분이키포인트입니다.. 유의해서보세요. 아.. 이소스에대해서보다자세하게알고싶다.. 그러면.. 조금만기다리세요

제두번째책에서 ^^ 혹시에러가발생한다면 MS_SQL 연결을위한 ID 와 PWD 를확인해보세요 ^^ 그럼.. 도움이되셨나요??? 그럼다음에.. 보다유익한팁과정보로 my home : http://www.cdama.com.ne.kr my book : http://www.cdama.com.ne.kr/my_book.htm -- 배재대학교컴퓨터공학과 96 학번 --