반응형
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


+ Recent posts