WindowForm 을 사용한 프로그램을 만들어보자!!!!
데이터베이스로는 insert, select, delete를 사용하여 프로그램을 개발해보자!!
1.프로그램 솔루션 구성
2. 프로그램 폼입니다.
프로그램 폼을 구성한 후
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DB_1;
namespace aaaa
{
public partial class Form1 : Form
{
public void database()
{
dataGridView1.Rows.Clear();
string[] data = new string[8];
try
{
XDB myDB = new XDB(
"Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=../../../data.accdb; " +
"Persist Security Info=False");
string query = "select * from bb";
myDB.Query(query);
while (myDB.ReadNext())
{
data[0] = myDB.GetData("No");
data[1] = myDB.GetData("등록과");
data[2] = myDB.GetData("접수일시");
data[3] = myDB.GetData("이름");
data[4] = myDB.GetData("주민번호");
data[5] = myDB.GetData("주소");
data[6] = myDB.GetData("HP");
data[7] = myDB.GetData("의사명");
dataGridView1.Rows.Add(data);
}
}
catch (Exception)
{
MessageBox.Show("DB 연동이 안되었습니다.");
}
}
public Form1()
{
InitializeComponent();
database();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox5.Text = listBox1.SelectedItem.ToString();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox1.Items.Clear();
listBox1.Items.Add(this.comboBox1.SelectedItem.ToString());
switch (this.comboBox1.SelectedItem.ToString())
{
case "내과":
listBox1.Items.Clear();
listBox1.Items.Add("내과 담당의사 이상준");
listBox1.Items.Add("내과 담당의사 이한수");
listBox1.Items.Add("내과 담당의사 채준영");
listBox1.Items.Add("내과 담당의사 이상신");
listBox1.Items.Add("내과 담당의사 이화영");
break;
case "외과":
listBox1.Items.Clear();
listBox1.Items.Add("외과 담당의사 상주니");
listBox1.Items.Add("외과 담당의사 정한조");
listBox1.Items.Add("외과 담당의사 총장님");
listBox1.Items.Add("외과 담당의사 전현우");
listBox1.Items.Add("외과 담당의사 강병익");
break;
case "산부인과":
listBox1.Items.Clear();
listBox1.Items.Add("산부인과 담당의사 주니주니");
listBox1.Items.Add("산부인과 담당의사 권규현");
listBox1.Items.Add("산부인과 담당의사 주수홍");
listBox1.Items.Add("산부인과 담당의사 최광호");
listBox1.Items.Add("산부인과 담당의사 차광호");
break;
case "정형외과":
listBox1.Items.Clear();
listBox1.Items.Add("정형외과 담당의사 윤수영");
listBox1.Items.Add("정형외과 담당의사 고아라");
listBox1.Items.Add("정형외과 담당의사 이슬빈");
listBox1.Items.Add("정형외과 담당의사 이재욱");
listBox1.Items.Add("정형외과 담당의사 현성필");
break;
case "방사선과":
listBox1.Items.Clear();
listBox1.Items.Add("방사선과 담당의사 김태우");
listBox1.Items.Add("방사선과 담당의사 김태수");
listBox1.Items.Add("방사선과 담당의사 전수영");
break;
case "이비인후과":
listBox1.Items.Clear();
listBox1.Items.Add("이비인후과 담당의사 유수정");
listBox1.Items.Add("이비인후과 담당의사 길병열");
listBox1.Items.Add("이비인후과 담당의사 한조");
listBox1.Items.Add("이비인후과 담당의사 반야산");
listBox1.Items.Add("이비인후과 담당의사 이건양");
break;
case "안과":
listBox1.Items.Clear();
listBox1.Items.Add("안과 담당의사 유수정");
listBox1.Items.Add("안과 담당의사 길병열");
listBox1.Items.Add("안과 담당의사 한조");
listBox1.Items.Add("안과 담당의사 반야산");
listBox1.Items.Add("안과 담당의사 이건양");
break;
case "소아과":
listBox1.Items.Clear();
listBox1.Items.Add("소아과 담당의사 유수정");
listBox1.Items.Add("소아과 담당의사 길병열");
listBox1.Items.Add("소아과 담당의사 한조");
listBox1.Items.Add("소아과 담당의사 반야산");
listBox1.Items.Add("소아과 담당의사 이건양");
break;
}
}
private void 닫기ToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
// 접수 버튼
private void button1_Click(object sender, EventArgs e)
{
XDB myDB = new XDB(
"Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=../../../data.accdb; " +
"Persist Security Info=False");
myDB.Query("INSERT INTO bb(접수일시, 등록과, 이름, 주민번호,주소 ,HP,의사명) " +
"values(" +
"'" + textBox6.Text + "', " +
"'" + comboBox1.SelectedItem.ToString() + "', " +
"'" + textBox1.Text + "', " +
"'" + textBox2.Text + "', " +
"'" + textBox3.Text + "', " +
"'" + textBox4.Text + "', " +
"'" + textBox5.Text + "' )"
);
MessageBox.Show("접수가 완료 되었습니다");
database();
}
// 닫기 버튼
private void button2_Click(object sender, EventArgs e)
{
Close();
}
//삭제 버튼
private void button3_Click(object sender, EventArgs e)
{
XDB myDB = new XDB(
"Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=../../../data.accdb; " +
"Persist Security Info=False");
myDB.Query("DELETE FROM bb WHERE 주민번호 = " + "'" + textBox2.Text + "'");
MessageBox.Show("삭제가 완료 되었습니다");
database();
}
//초기화
private void button4_Click(object sender, EventArgs e)
{
}
private void 만든이ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 rm2 = new Form2();
rm2.ShowDialog();
}
}
}
DB_1 구성
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Windows.Forms;
namespace DB_1
{
public class XDB
{
private OleDbConnection conn = null;
private OleDbCommand comm = null;
private OleDbDataReader read = null;
public XDB(string connectionString)
{
conn = new OleDbConnection();
comm = new OleDbCommand();
try
{
conn.ConnectionString = connectionString;
conn.Open();
comm.Connection = conn;
}
catch (Exception e)
{
conn = null;
comm = null;
MessageBox.Show(e.ToString());
}
}//XDB()
//----------------------------------------
//insert, delete, update같은 데이터를 읽지는 않고
//처리만 하는 함수
public bool NonQuery(string query)
{
if (conn == null || comm == null)
{
MessageBox.Show("DB가 연결되어 있지 않습니다.");
return false;
}
try
{
comm.CommandText = query;
comm.ExecuteNonQuery();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
return false;
}
return true;
}//NonQuery()
//---------------------------------------
public bool Query(string query)
{
if (conn == null || comm == null)
{
MessageBox.Show("DB가 연결되어 있지 않습니다.");
return false;
}
if (read != null) read.Close();
try
{
comm.CommandText = query;
read = comm.ExecuteReader();
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString());
return false;
}
return true;
}//Query()
//----------------------------------------------
public bool ReadNext()
{
if (read != null) return read.Read();
return false;
}
//--------------------------------------------
public string GetData(string name)
{
if (read != null) return read[name].ToString();
MessageBox.Show("읽은 데이터가 없습니다.");
return "";
}
}//class
}//nameSpace