DB 프로그래밍1 2016.2학기.

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQLite 소개 및 안드로이드에서의 사용법
DB Injection과 대응방안 nwkim.
웹 프로그래밍 HTML, 자바스크립트, ASP를 중심으로
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
소리가 작으면 이어폰 사용 권장!.
ADO.NET 부산IT직업전문학교 성 명 건.
Database Laboratory, Hong Ik University
소프트웨어시스템설계(6주) 데이터베이스 연동
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
주)INVENTORNICS 노창배 소프트웨어 김 경 순
C#에서 데이터베이스 연동 방법.
JSP Programming with a Workbook
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
14장 질의응답 한빛미디어(주).
2007. Database Term Project Team 2 윤형석, 김희용, 최현대 우경남, 이상제
C# Programming Version 2.0 ADO.NET.
Visual Studio 2015 을 이용한 오라클 DB 프로그래밍
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
XML WEB SERVICE PDA WEB HARD
Chapter 05 데이터베이스 프로그래밍.
ASP.NET : Database 접근 2008 컴퓨터공학실험(Ⅰ)
DB를 이용한 정보검색기 구현 (sqlite3)
뷰와 저장 프로시저 뷰의 개념을 이해한다. 뷰의 정의와 관리 방법을 이해한다. 뷰를 사용함으로써 생기는 장점을 알아본다.
RFID Programming (출결관리 프로그램)
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
KHS JDBC Programming 4 KHS
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
DB연동하기 원격db접속.
You YoungSEok Oracle 설치 You YoungSEok
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
DataBase 연결 및 사용방법
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
게임웹사이트운영 [10] 폼 작성.
JDBC Lecture 004 By MINIO.
Database Programing 이름 : 김 수 종 학번 :
JSP 게시판 구현.
View(뷰) 1 가상 테이블(Virtual Relation)
Data Base Web Programming
Database 중고차 매매 DB 비즈니스IT 윤동섭.
인터넷응용프로그래밍 MYSQL(phpMyAdmin).
ADO.NET (SqlConnection, SqlCommand)
FileMaker를 이용한 데이터 관리 옥현진(KICE).
비주얼 프로그래밍 1분반 화/목.
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
SQL INJECTION MADE BY 김 현중.
문성우 SQL 실습 Part Ⅰ 문성우.
Oracle 구성 Internet Application Server Database Server.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
Chapter 10 데이터 검색1.
서적DB개발 과제 Page 2의 ERD를 통해 구축할 서적 DB의 구조를 파악한다. (4개의 개체에 대해 확인함)
Stored program 장종원
maria db JDBC PROGRAMMING 5
Data Base Web Programming
Data Base Mysql.
 6장. SQL 쿼리.
Presentation transcript:

DB 프로그래밍1 2016.2학기

Create Read Update Delete ACCESS Oracle MySQL MS SQLServer … OleDB OleDBConnection OleDBCommand OleDBDataReader Database Program Create Read Update Delete Record Table Field

만들고자 하는 프로그램 ListBox 추가, 검색, 수정, 삭제가 가능한 DB 프로그래밍

01 Access DB 작성

02 폼 디자인 txtID txt학번 txt이름 txt전화번호

03 Data Source 연결(Access DB 연결) 보기다른 창데이터소스 Data Sources 메뉴 Add New Data Source Database 선택 Dataset 선택

New Connection MS Access Database File Browse Test Connection

04 Connection String ConnectionStrings.com

참고: DB프로그래밍의 원칙 OleDB OleDbConnection conn = null; // connection OleDbCommand comm = null; // command OleDbDataReader reader = null; // DataReader 또는 // ExecuteNonQuery string connStr = null; connStr을 connectionstrings.com 에서 가져온다

SQL 문 SELECT * FROM 테이블이름 SELECT * FROM 테이블이름 WHERE SID=… UPDATE 테이블이름 SET ID=…, SID=…, Sname=…, Phone=… WHERE ID=… 이때 숫자는 따옴표 없이, 문자열은 ‘문자열’ 처럼 작은 따옴표를 넣어주어야 한다 INSERT INTO 테이블이름 VALUES ( … , … , … , …) DELETE FROM 테이블이름 WHERE ID=…

04 displayStudents() –DB 내용을 모두 읽어와서 리스트박스에 표시함 using System.Data.OleDb; … OleDbConnection conn = null; OleDbCommand comm = null; OleDbDataReader reader = null; string connStr = null; public Form1() { InitializeComponent(); DisplayStudents(); } private void DisplayStudents() { if(conn == null) // DB 연결 후 Open connStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=…."; conn = new OleDbConnection(connStr); conn.Open(); // SQL 명령어 만들고 string sql = "SELECT * FROM StudentTable"; // 실행 comm = new OleDbCommand(sql, conn); reader = comm.ExecuteReader(); // 여러개 찾으면 각각에 대해서 루프에서 처리 while(reader.Read()) string item = ""; item += reader["ID"].ToString() + "\t"; item += reader["SID"].ToString() + "\t"; item += reader["SName"].ToString() + "\t"; item += reader["Phone"].ToString(); listBox1.Items.Add(item); } reader.Close(); conn.Close(); conn = null;

05 listbox1_Click - 리스트박스에서 데이터를 클릭하면 해당 값을 텍스트박스에 표시함 private void listBox1_Click(object sender, EventArgs e) { ListBox lb = sender as ListBox; if (lb.SelectedItem == null) return; string[] s = lb.SelectedItem.ToString().Split('\t'); txtID.Text = s[0]; txt학번.Text = s[1]; txt이름.Text = s[2]; txt전화번호.Text = s[3]; }

06 INSERT INTO 테이블 VALUES - 텍스트박스에 데이터를 넣고 DB에 추가 // 추가 private void button2_Click(object sender, EventArgs e) { if (txt이름.Text == "" || txt학번.Text == "" || txt전화번호.Text == "") return; // 다시 DB를 연결하고 Open 한다 conn = new OleDbConnection(connStr); conn.Open(); // SQL문장으로 명령어를 만든다 string sql = "INSERT INTO StudentTable VALUES (" + txtID.Text + ", '" + txt학번.Text + "', '" + txt이름.Text + "', '" + txt전화번호.Text + "')"; // 명령어를 실행한다 comm = new OleDbCommand(sql, conn); int x = comm.ExecuteNonQuery(); if (x == 1) MessageBox.Show("정상 삽입"); conn.Close(); conn = null; listBox1.Items.Clear(); DisplayStudents(); }

07 DELETE FROM 테이블 WHERE - 텍스트 상자에 있는 ID 값으로 DB에서 삭제 // 삭제 private void button5_Click(object sender, EventArgs e) { if (txtID.Text == "") return; conn = new OleDbConnection(connStr); conn.Open(); string sql = "DELETE FROM StudentTable WHERE ID=" + txtID.Text; comm = new OleDbCommand(sql, conn); int x = comm.ExecuteNonQuery(); if (x == 1) MessageBox.Show("정상적으로 삭제되었습니다"); conn.Close(); conn = null; listBox1.Items.Clear(); DisplayStudents(); }

08 UPDATE 테이블 SET ~ WHERE - ID로 DB를 검색하여 값을 수정 // 수정 private void button6_Click(object sender, EventArgs e) { if (txtID.Text == "") return; conn = new OleDbConnection(connStr); conn.Open(); string sql = "UPDATE StudentTable SET SID='" + txt학번.Text + "', SName='" + txt이름.Text + "', Phone='" + txt전화번호.Text + "' WHERE ID=" + txtID.Text; MessageBox.Show(sql); comm = new OleDbCommand(sql, conn); int x = comm.ExecuteNonQuery(); if (x == 1) MessageBox.Show("정상적으로 수정되었습니다"); conn.Close(); conn = null; listBox1.Items.Clear(); DisplayStudents(); }

09 SELECT * FROM 테이블 WHERE ~ - 학번, 이름, 전화번호로 검색하여 리스트 박스에 표시 private void button3_Click(object sender, EventArgs e) { // 4개 텍스트박스 중 적어도 하나는 찾을 값이 있어야 한다 if (txtID.Text == "" && txt학번.Text == "" && txt이름.Text == "" && txt전화번호.Text == "") { MessageBox.Show("텍스트 상자 중 하나에 검색할 자료를 입력하세요"); return; } string sql = ""; conn = new OleDbConnection(connStr); conn.Open(); if (txt학번.Text != "") { sql = "SELECT * FROM StudentTable WHERE SID='" + txt학번.Text + "'";} else if (txt이름.Text != "") { sql = "SELECT * FROM StudentTable WHERE SName='" + txt이름.Text + "'";} else if (txt전화번호.Text != "") { sql = "SELECT * FROM StudentTable WHERE Phone='" + txt전화번호.Text + "'"; } comm = new OleDbCommand(sql, conn); reader = comm.ExecuteReader(); listBox1.Items.Clear(); while (reader.Read()) string item = ""; item += reader["ID"].ToString() + "\t"; item += reader["SID"].ToString() + "\t"; item += reader["SName"].ToString() + "\t"; item += reader["Phone"].ToString(); listBox1.Items.Add(item); } reader.Close(); conn.Close(); conn = null;