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());
}
}
}
}
}
}