부품 추가하기

서병수·2023년 8월 4일
0

전진검사

목록 보기
5/6

23.08.04
부품을 추가하는 폼이다.
부품이름을 조회하여 이름이 같은게 있으면 입력하지 않고
없으면 입력한다.

using MySql.Data.MySqlClient;
using System;
using System.Windows.Forms;
namespace PREINSPECTION
{
    public partial class addPart : Form
    {
        public addPart()
        {
            InitializeComponent();
            using (MySqlConnection connection = ConnectDB.connectDB())
            {
                using (MySqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = "Select name from part_group";
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                partGroupSelect.Items.Add(reader[0].ToString());
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.writeLog(ex.ToString());
                        }
                    }
                }
            }
        }



        private void insert_Click(object sender, EventArgs e)
        {
            string barcodetext = barcodeText.Text.Trim();
            string nametext = nameText.Text.Trim();
            string partgrouptext = "";
            if (partGroupSelect.SelectedItem == null)
            {
                MessageBox.Show("부품 그룹을 선택하세요");
                return;
            }
            else
            {
                partgrouptext = partGroupSelect.SelectedItem.ToString();
                if (nametext == "")
                {
                    MessageBox.Show("값을 입력하세요");
                    return;
                }
                else
                {
                    using (MySqlConnection connection = ConnectDB.connectDB())
                    {
                        using (MySqlCommand command = connection.CreateCommand())
                        {
                            command.CommandText = "Select name from part where name = @partName Limit 1";
                            command.Parameters.Add("@partName", MySqlDbType.VarChar).Value = nametext;
                            using (MySqlDataReader reader = command.ExecuteReader())
                            {
                                try
                                {
                                    if (reader.Read())
                                    {
                                        MessageBox.Show("이미 중복된 값이 있습니다.");
                                        return;
                                    }
                                }
                                catch (Exception ex)
                                {
                                    Log.writeLog(ex.ToString());
                                }

                            }
                        }
                    }
                }
            }
            using (MySqlConnection connection = ConnectDB.connectDB())
            {
                using (MySqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = "INSERT INTO part (group_id, name, barcode) " +
                                          "SELECT id, @name, @barcode " +
                                          "FROM part_group " +
                                          "WHERE name = @part_groupName;";
                    command.Parameters.Add("@name", MySqlDbType.VarChar).Value = nametext;
                    command.Parameters.Add("@barcode", MySqlDbType.VarChar).Value = barcodetext;
                    command.Parameters.Add("@part_groupName", MySqlDbType.VarChar).Value = partgrouptext;
                    try
                    {
                        command.ExecuteNonQuery();
                    }
                    catch(Exception ex)
                    {
                        Log.writeLog(ex.ToString());    
                    }
                }
            }
        }
    }
}





profile
안녕하십니까 인사올립니다

0개의 댓글