문제: 미니 주소록 만들기
ADDR_ID NAME HP
1 홍길동 010-1111-1111
2 강호동 010-2222-2222
3 유재석 010-3333-3333
C#을 이용하여 다음과 같은 테이블(ADDR_TABLE) 을 만들고
ADDR_ID는 NUMBER(4) PRIMARY KEY로 만들어 주세요.
NAME, HP 의 타입은 모두 VARCHAR2(20)
콘솔 메뉴를 만든 후 번호를 누르면 해당 작업을 수행하여 주세요.
1. 테이블 생성
2. 데이터 삽입
3. 데이터 조회
---------------------------------------------------------
1. 테이블 생성
2. 데이터 삽입
3. 데이터 조회
메뉴 : 1
테이블이 생성되었습니다.
------------------------------------------------------------
1. 테이블 생성
2. 데이터 삽입
3. 데이터 조회
메뉴 : 2
이름을 입력해 주세요 : 홍길동
전화번호를 입력해 주세요 : 010-1111-1111
데이터가 정상적으로 입력되었습니다.
-----------------------------------------------------------------
1. 테이블 생성
2. 데이터 삽입
3. 데이터 조회
메뉴 : 3
ADDR_ID NAME HP
1 홍길동 010-1111-1111
==========================================================
using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace MyOracleTest01 { class Program { static void Main(string[] args) { void ShowMenu() //메뉴를 보여주는 함수{Console.WriteLine("===========================");Console.WriteLine("1.테이블생성");Console.WriteLine("2.테이블삽입");Console.WriteLine("3.테이블조회");Console.WriteLine("===========================");Console.Write("메뉴: ");} string strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA= (SERVER = DEDICATED)(SERVICE_NAME = xe))); User Id = scott; Password = TIGER;";// 오라클 연결OracleConnection conn = new OracleConnection(strConn);conn.Open();OracleCommand cmd = new OracleCommand();cmd.Connection = conn; int a, cnt = 1; string b, c; do { ShowMenu(); a = Convert.ToInt32(Console.ReadLine()); switch (a) { case 1: cmd.CommandText = "CREATE TABLE ADDR_TABLE(ADDR_ID NUMBER(4) PRIMARY KEY,NAME VARCHAR(20) ,HP VARCHAR(20)) "; cmd.ExecuteNonQuery(); Console.WriteLine("테이블이 생성되었습니다."); break; case 2: Console.WriteLine("이름을 입력해주세요: "); b = Console.ReadLine(); Console.WriteLine("전화번호를 입력해주세요: "); c = Console.ReadLine(); cmd.CommandText = "INSERT INTO addr_table(ADDR_ID,NAME,HP) VALUES('" + cnt + "','" + b + "','" + c + "') "; cmd.ExecuteNonQuery(); Console.WriteLine("테이블에 삽입되었습니다."); cnt++; break; case 3: cmd.CommandText = "select * from addr_table"; OracleDataReader rdr = cmd.ExecuteReader(); Console.WriteLine(); Console.WriteLine("ADDR_ID NAME HP "); while (rdr.Read()) { string ADDR_ID = rdr["ADDR_ID"].ToString(); //as string;string NAME = rdr["NAME"] as string;string HP = rdr["HP"].ToString();Console.WriteLine($" {ADDR_ID} {NAME} {HP}");}Console.WriteLine();break;default:Console.WriteLine("잘못 입력하였습니다.");break; } } while (a != 0) ; conn.Close(); } } } }
'코딩연습 > C#' 카테고리의 다른 글
[C#]LINQ (0) | 2020.06.12 |
---|---|
[C#]대리자의 이벤트 (0) | 2020.06.12 |
[C#]대리자 체인 (0) | 2020.06.12 |
[C#]대리자(delegate) (0) | 2020.06.12 |
[C#]강제로 예외던지기(throw) (0) | 2020.06.12 |