문제: 미니 주소록 만들기
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 |