Oracle Login Form
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;
using System.Xml;
using System.IO;
using Oracle.DataAccess.Client;
namespace TEST_YBJ
{
public partial class Oracle_Login_Form : Form
{
private string id_Ph = "아이디";
private string pw_Ph = "패스워드";
private string sv_Ph = "서비스";
private string ip_Ph = "아이피";
private string id;
private string pw;
private string sv;
private string ip;
OracleConnection conn;
public Oracle_Login_Form()
{
InitializeComponent();
}
private void Oracle_Login_Form_Load(object sender, EventArgs e)
{
if (Properties.Settings.Default.INFO_REMEMBER == true)
{
// xml 불러오기
try
{
if (File.Exists(Application.StartupPath + @"\Oracle_Info.xml"))
{
XmlDocument xdoc = new XmlDocument();
string url = Application.StartupPath + @"\Oracle_Info.xml";
xdoc.Load(url);
XmlNodeList root = xdoc.SelectNodes("Oracle_Info");
foreach (XmlNode xn in root)
{
TB_ID.Text = xn["id"].InnerText;
TB_PW.Text = xn["pw"].InnerText;
TB_SV.Text = xn["sv"].InnerText;
TB_IP.Text = xn["ip"].InnerText;
}
}
}
catch
{
MessageBox.Show("xml load error");
}
INFO_REMEMBER.Checked = Properties.Settings.Default.INFO_REMEMBER;
}
else if (Properties.Settings.Default.INFO_REMEMBER == false)
{
TB_ID.Text = id_Ph;
TB_ID.ForeColor = Color.Gray;
TB_PW.Text = pw_Ph;
TB_PW.ForeColor = Color.Gray;
TB_SV.Text = sv_Ph;
TB_SV.ForeColor = Color.Gray;
TB_IP.Text = ip_Ph;
TB_IP.ForeColor = Color.Gray;
INFO_REMEMBER.Checked = Properties.Settings.Default.INFO_REMEMBER;
}
}
private void TB_ID_TextChanged(object sender, EventArgs e)
{
if (TB_ID.Text == id_Ph)
{
TB_ID.Text = id_Ph;
}
else if (TB_ID.Text != id_Ph)
{
TB_ID.Text = TB_ID.Text.Replace("아", "").ToString();
TB_ID.Text = TB_ID.Text.Replace("이", "").ToString();
TB_ID.Text = TB_ID.Text.Replace("디", "").ToString();
TB_ID.Select(TB_ID.Text.Length, 0); // 커서를 끝 부분에 배치
}
}
private void TB_PW_TextChanged(object sender, EventArgs e)
{
if (TB_PW.Text == pw_Ph)
{
TB_PW.Text = pw_Ph;
}
else if (TB_PW.Text != pw_Ph)
{
TB_PW.Text = TB_PW.Text.Replace("패", "").ToString();
TB_PW.Text = TB_PW.Text.Replace("스", "").ToString();
TB_PW.Text = TB_PW.Text.Replace("워", "").ToString();
TB_PW.Text = TB_PW.Text.Replace("드", "").ToString();
TB_PW.Select(TB_PW.Text.Length, 0); // 커서를 끝 부분에 배치
}
}
private void TB_SV_TextChanged(object sender, EventArgs e)
{
if (TB_SV.Text == sv_Ph)
{
TB_SV.Text = sv_Ph;
}
else if (TB_SV.Text != sv_Ph)
{
TB_SV.Text = TB_SV.Text.Replace("서", "").ToString();
TB_SV.Text = TB_SV.Text.Replace("비", "").ToString();
TB_SV.Text = TB_SV.Text.Replace("스", "").ToString();
TB_SV.Select(TB_SV.Text.Length, 0); // 커서를 끝 부분에 배치
}
}
private void TB_IP_TextChanged(object sender, EventArgs e)
{
if (TB_IP.Text == ip_Ph)
{
TB_IP.Text = ip_Ph;
}
else if (TB_IP.Text != ip_Ph)
{
TB_IP.Text = TB_IP.Text.Replace("아", "").ToString();
TB_IP.Text = TB_IP.Text.Replace("이", "").ToString();
TB_IP.Text = TB_IP.Text.Replace("피", "").ToString();
TB_IP.Select(TB_IP.Text.Length, 0); // 커서를 끝 부분에 배치
}
}
private void TB_ID_Leave(object sender, EventArgs e)
{
if (TB_ID.Text == string.Empty)
{
TB_ID.Text = id_Ph;
}
}
private void TB_PW_Leave(object sender, EventArgs e)
{
if (TB_PW.Text == string.Empty)
{
TB_PW.Text = pw_Ph;
}
}
private void TB_SV_Leave(object sender, EventArgs e)
{
if (TB_SV.Text == string.Empty)
{
TB_SV.Text = sv_Ph;
}
}
private void TB_IP_Leave(object sender, EventArgs e)
{
if (TB_IP.Text == string.Empty)
{
TB_IP.Text = ip_Ph;
}
}
private void BTN_LOGIN_Click(object sender, EventArgs e)
{
try
{
if (TB_ID.Text == id_Ph || TB_PW.Text == pw_Ph || TB_SV.Text == sv_Ph || TB_IP.Text == ip_Ph)
{
Properties.Settings.Default.INFO_REMEMBER = false;
Properties.Settings.Default.Save();
}
else if (INFO_REMEMBER.Checked == false)
{
Properties.Settings.Default.INFO_REMEMBER = false;
Properties.Settings.Default.Save();
}
else if (INFO_REMEMBER.Checked == true && TB_ID.Text != id_Ph || TB_PW.Text != pw_Ph || TB_SV.Text != sv_Ph || TB_IP.Text != ip_Ph)
{
// xml 생성
XmlWriterSettings xmlset = new XmlWriterSettings();
xmlset.Indent = true;
xmlset.NewLineOnAttributes = true;
XmlWriter xm = XmlWriter.Create(Application.StartupPath + @"\Oracle_Info.xml");
xm.WriteStartDocument();
xm.WriteStartElement("Oracle_Info");
xm.WriteElementString("id", TB_ID.Text);
xm.WriteElementString("pw", TB_PW.Text);
xm.WriteElementString("sv", TB_SV.Text);
xm.WriteElementString("ip", TB_IP.Text);
xm.WriteEndDocument();
xm.Flush();
xm.Close();
Properties.Settings.Default.INFO_REMEMBER = true;
Properties.Settings.Default.Save();
}
Oracle_Conn_Fn();
MessageBox.Show("오라클 접속에 성공하였습니다");
this.Visible = false;
Basic_Form frm = new Basic_Form();
frm.id = id;
frm.pw = pw;
frm.sv = sv;
frm.ip = ip;
frm.Owner = this;
frm.Show();
}
catch
{
MessageBox.Show("login error");
}
}
public void Oracle_Conn_Fn()
{
id = TB_ID.Text;
pw = TB_PW.Text;
sv = TB_SV.Text;
ip = TB_IP.Text;
string connstr = "data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + ip + ")" +
"(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = " + sv + ")));USER ID=" + id + ";PASSWORD=" + pw + ";";
conn = new OracleConnection(connstr);
conn.Open();
}
public OracleConnection Oracle_Get_Conn
{
get { return conn; }
}
}
}
Basic Form
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;
using Oracle.DataAccess.Client;
using FarPoint.Win.Spread;
namespace TEST_YBJ
{
public partial class Basic_Form : Form
{
protected internal string id;
protected internal string pw;
protected internal string sv;
protected internal string ip;
OracleConnection conn;
OracleCommand cmd;
DataSet ds;
OracleDataAdapter oda;
string sqlstr;
public Basic_Form()
{
InitializeComponent();
}
public void Oracle_Conn_Fn()
{
try
{
string connstr = "data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + ip + ")" +
"(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = " + sv + ")));USER ID=" + id + ";PASSWORD=" + pw + ";";
conn = new OracleConnection(connstr);
conn.Open();
}
catch
{
MessageBox.Show("oracle error");
}
}
public void Basic_Load_Fn()
{
try
{
Oracle_Conn_Fn();
sqlstr = "SELECT * FROM TEST_SUBWAY ORDER BY SUBWAY_NUMBER ASC";
cmd = new OracleCommand(sqlstr, conn);
cmd.ExecuteReader();
ds = new DataSet();
oda = new OracleDataAdapter(sqlstr, conn);
oda.Fill(ds);
fpSpread1.DataSource = ds.Tables[0];
sheetView1.Columns[0, 2].Width = 365;
for (int i = 0; i < fpSpread1.ActiveSheet.ColumnCount; i++)
{
fpSpread1.ActiveSheet.Columns[i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
fpSpread1.ActiveSheet.Columns[i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
}
conn.Close();
}
catch
{
MessageBox.Show("data load error");
}
}
private void Basic_Form_Load(object sender, EventArgs e)
{
Basic_Load_Fn();
fpSpread1.Sheets[0].OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
}
private void btnAlignment_Click(object sender, EventArgs e)
{
try
{
Oracle_Conn_Fn();
if (sqlstr == "SELECT * FROM TEST_SUBWAY ORDER BY SUBWAY_NUMBER ASC")
{
sqlstr = "SELECT * FROM TEST_SUBWAY ORDER BY SUBWAY_NUMBER DESC";
}
else
{
sqlstr = "SELECT * FROM TEST_SUBWAY ORDER BY SUBWAY_NUMBER ASC";
}
cmd = new OracleCommand(sqlstr, conn);
cmd.ExecuteReader();
ds = new DataSet();
oda = new OracleDataAdapter(sqlstr, conn);
oda.Fill(ds);
fpSpread1.DataSource = ds.Tables[0];
sheetView1.Columns[0, 2].Width = 365;
for (int i = 0; i < fpSpread1.ActiveSheet.ColumnCount; i++)
{
fpSpread1.ActiveSheet.Columns[i].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
fpSpread1.ActiveSheet.Columns[i].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
}
conn.Close();
}
catch
{
MessageBox.Show("alignment error");
}
}
private void btnInsert_Click(object sender, EventArgs e)
{
IU_FROM frm = new IU_FROM();
frm.Owner = this;
frm.cf = false;
frm.id = id;
frm.pw = pw;
frm.sv = sv;
frm.ip = ip;
frm.ShowDialog();
}
private void btnUpdate_Click(object sender, EventArgs e)
{
int row_idx = fpSpread1.ActiveSheet.ActiveRowIndex;
string select_number = fpSpread1.ActiveSheet.Cells[row_idx, 0].Value.ToString();
IU_FROM frm = new IU_FROM();
frm.Owner = this;
frm.sub_number = select_number;
frm.cf = true;
frm.id = id;
frm.pw = pw;
frm.sv = sv;
frm.ip = ip;
frm.ShowDialog();
}
private void btnDelete_Click(object sender, EventArgs e)
{
int row_idx = fpSpread1.ActiveSheet.ActiveRowIndex;
string select_number = fpSpread1.ActiveSheet.Cells[row_idx, 0].Value.ToString();
if (MessageBox.Show("해당 데이터를 삭제하시겠습니까?", "DELETE", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Oracle_Conn_Fn();
sqlstr = "DELETE TEST_SUBWAY WHERE SUBWAY_NUMBER = " + select_number + "";
cmd = new OracleCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
conn.Close();
Basic_Load_Fn();
}
}
private void btnExcel_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
saveFile.Filter = "Excel files (*.xls)|*.xls|All files (*.*)|*.*";
saveFile.FilterIndex = 1;
if (saveFile.ShowDialog() == DialogResult.OK)
{
fpSpread1.SaveExcel(saveFile.FileName, FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
MessageBox.Show("저장이 완료 되었습니다.");
}
}
catch
{
}
}
}
}
INSERT & UPDATE FORM (bool로 전환)
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;
using Oracle.DataAccess.Client;
namespace TEST_YBJ
{
public partial class IU_FROM : Form
{
protected internal bool cf;
protected internal string id;
protected internal string pw;
protected internal string sv;
protected internal string ip;
protected internal string sub_number;
OracleConnection conn;
string sqlstr;
OracleCommand cmd;
OracleDataReader reader;
public IU_FROM()
{
InitializeComponent();
}
private void IU_FROM_Load(object sender, EventArgs e)
{
if (cf == false)
{
TB_NUM.Text = string.Empty;
TB_NAME.Text = string.Empty;
TB_LINE.Text = string.Empty;
}
else if (cf == true)
{
try
{
TB_NUM.Enabled = false;
Oracle_Conn_Fn();
sqlstr = "SELECT * FROM TEST_SUBWAY WHERE SUBWAY_NUMBER = " + sub_number + "";
cmd = new OracleCommand(sqlstr, conn);
reader = cmd.ExecuteReader();
if (reader.Read())
{
TB_NUM.Text = reader.GetInt32(0).ToString();
TB_NAME.Text = reader.GetString(1).ToString();
TB_LINE.Text = reader.GetString(2).ToString();
}
conn.Close();
}
catch
{
MessageBox.Show("update load error");
}
}
}
public void Oracle_Conn_Fn()
{
string connstr = "data source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + ip + ")" +
"(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = " + sv + ")));USER ID=" + id + ";PASSWORD=" + pw + ";";
conn = new OracleConnection(connstr);
conn.Open();
}
private void BTN_SAVE_Click(object sender, EventArgs e)
{
Oracle_Conn_Fn();
if (cf == false)
{
try
{
if (TB_NUM.Text == string.Empty || TB_NAME.Text == string.Empty || TB_LINE.Text == string.Empty)
{
MessageBox.Show("빈칸 없이 입력해주세요");
return;
}
string num = TB_NUM.Text;
string name = TB_NAME.Text;
string line = TB_LINE.Text;
sqlstr = "SELECT SUBWAY_NUMBER FROM TEST_SUBWAY WHERE SUBWAY_NUMBER = " + num + "";
cmd = new OracleCommand(sqlstr, conn);
reader = cmd.ExecuteReader();
if (reader.Read())
{
if (reader.GetInt32(0) == Int32.Parse(num))
{
MessageBox.Show("등록된 번호입니다.");
TB_NUM.Clear();
conn.Close();
return;
}
}
sqlstr = "INSERT INTO TEST_SUBWAY VALUES(" + Int32.Parse(num) + ", '" + name + "', '" + line + "')";
cmd = new OracleCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
conn.Close();
((Basic_Form)this.Owner).Basic_Load_Fn();
TB_NUM.Clear();
TB_NAME.Clear();
TB_LINE.Clear();
}
catch
{
MessageBox.Show("insert error");
}
}
else if (cf == true)
{
try
{
string num = TB_NUM.Text;
string name = TB_NAME.Text;
string line = TB_LINE.Text;
if (num == string.Empty || name == string.Empty || line == string.Empty)
{
MessageBox.Show("빈칸없이 입력해주세요");
return;
}
Oracle_Conn_Fn();
sqlstr = "UPDATE TEST_SUBWAY SET " +
"SUBWAY_NUMBER = " + num +
", SUBWAY_NAME = '" + name +
"', SUBWAY_LINE = '" + line +
"' WHERE SUBWAY_NUMBER = " + sub_number + "";
cmd = new OracleCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
conn.Close();
((Basic_Form)this.Owner).Basic_Load_Fn();
MessageBox.Show("수정되었습니다");
IU_FROM.ActiveForm.Close();
}
catch
{
}
}
}
}
}
'C# 개인 공부 기록용 > 개인 실습' 카테고리의 다른 글
Login Form(Feat. Button) (0) | 2022.08.18 |
---|---|
Xml + Oracle + Sql + StringBuilder (0) | 2022.08.03 |
SpreadSheet + Excel + Oracle + Xml (Synthesis Test) (0) | 2022.07.26 |
fpSpread Practice (SpreadSheet) + Xml + Oracle (0) | 2022.07.21 |
DataGridView + Selected (Cell, Row) (0) | 2022.07.18 |