DaoOracle
using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OopTest {
internal class DaoOracle {
//생성자
public DaoOracle() {
conn = new OracleConnection(ORA_ADDR);
cmd = new OracleCommand();
connectDB();
}
//파괴자
~DaoOracle() {
disconnectDB();
}
string ORA_ADDR =
"Data Source=(DESCRIPTION=(ADDRESS_LIST=" +
"(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)" +
"(PORT=1521)))" +
"(CONNECT_DATA=(SERVER=DEDICATED)" +
"(SERVICE_NAME=XE)));" +
"User Id=test;Password=1234;";
// 오라클 접속, sql명령어 객체 생성
OracleConnection conn;
OracleCommand cmd;
public void connectDB() {
// try ~ catch : 객체지향 프로그래밍에서 예외처리
try {
conn.Open(); // db 접속
Console.WriteLine("오라클 접속 성공!");
}
catch (OracleException e) {
Console.WriteLine("접속에러: " + e.Message);
}
}
public void disconnectDB() {
try {
if (conn != null) {
conn.Close();
Console.WriteLine("오라클 해제 성공!");
}
}
catch (OracleException e) {
Console.WriteLine("종료 에러:" + e.Message);
}
}
public void insertData(Member me) {
Console.WriteLine("테이블 데이터 추가");
try {
string sql = string.Format("insert into join_t values(" +
"'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", me.Id,me.Passwd, me.Name, me.Nick, me.Birth, me.Gender, me.Tel,me.Email);
Console.WriteLine(sql);
cmd.Transaction = conn.BeginTransaction();
cmd.Connection = conn;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
cmd.Transaction.Commit();
}
catch (Exception e) {
Console.WriteLine("데이터 추가 오류 : " + e.Message);
}
}
}
}
Form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OopTest {
public partial class Form1 : Form {
DaoOracle ora = new DaoOracle();
public Form1() {
InitializeComponent();
}
private void button4_Click(object sender, EventArgs e) {
string gender = string.Empty;
if (radioButton1.Checked) { gender = "남자"; }
else if (radioButton2.Checked) { gender = "여자"; }
MessageBox.Show($"아이디:{textBox1.Text}\n" +
$"비밀번호:{textBox2.Text}\n" +
$"이름:{textBox4.Text}\n" +
$"별명:{textBox5.Text}\n" +
$"생년월일:{textBox6.Text}\n" +
$"성별:{gender}\n" +
$"전화:{textBox7.Text}");
ora.insertData(new Member(textBox1.Text, textBox2.Text, textBox4.Text, textBox5.Text, textBox6.Text, gender, textBox7.Text, "Email.com"));
}
private void button3_Click(object sender, EventArgs e) {
Application.Exit();
}
}
}
Member
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OopTest {
internal class Member {
//모델 클래스
//멤버를 변수로
string id, passwd, name, nick, birth, gender, tel, email;
public Member(string id, string passwd, string name, string nick, string birth, string gender, string tel, string email) {
this.id = id;
this.passwd = passwd;
this.name = name;
this.nick = nick;
this.birth = birth;
this.gender = gender;
this.tel = tel;
this.email = email;
}
public string Id { get => id; set => id = value; }
public string Passwd { get => passwd; set => passwd = value; }
public string Name { get => name; set => name = value; }
public string Nick { get => nick; set => nick = value; }
public string Birth { get => birth; set => birth = value; }
public string Gender { get => gender; set => gender = value; }
public string Tel { get => tel; set => tel = value; }
public string Email { get => email; set => email = value; }
}
}
'C# > C# WinForm' 카테고리의 다른 글
WinForm : 슬라이딩 메뉴 (0) | 2023.01.16 |
---|---|
WinForm : ListView (0) | 2022.12.28 |
WinForm : CheckBox (0) | 2022.12.26 |
WinForm : 새로 Form 띄우기 (0) | 2022.12.23 |
WinForm : Button, label (0) | 2022.12.22 |