폼이 열리면 자동연결 : 폼 자체를 더블클릭
폼이 닫히면 연결해제 : 폼 선택후 이벤트 Form Closing
그리고 디비를 생성하고 각각의 테이블에 무조건 하나의 튜플을 넣어주어야 합니다.
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 MySql.Data;
using MySql.Data.MySqlClient;
namespace WindowsFormsApp6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
MySqlConnection conn;
MySqlCommand cmd; //sql구문을 실행시켜주는 객체
private void button1_Click(object sender, EventArgs e)
{
string id;
string name; //정수타입만 입력
string phone;
string date;
id = tb_id.Text.ToString(); //문자열로 바꿔 넣기
name = tb_name.Text.ToString();
phone = tb_phone.Text.ToString();
date = tb_date.Text.ToString();
//쿼리문을 준비
//String sql ="INSERT INTO userTbl(name,age,addr)VALUES('";sql += name + "'," + age + ",'" + addr + "');";
String sql = "INSERT INTO userTbl(id,name,phone,date)VALUES('" + id + "','"+name+"','" + phone + "','"+date+"');";
cmd.CommandText = sql;
cmd.ExecuteNonQuery(); //insert, update등 실행갯수 반환
MessageBox.Show("입력 성공~");
}
//폼시작시 DB연결
private void Form1_Load(object sender, EventArgs e)
{
//교량 구축하기 + 트럭준비
String connStr = "Server=192.168.100.56;Port=3306;Uid=csUser2;Pwd=1234;Database=shopDB2;CHARSET=UTF8";
conn = new MySqlConnection(connStr);
conn.Open();
cmd = new MySqlCommand("", conn);
}
//폼끝날때 DB 연결해제
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
conn.Close();
}
//lv_view1 추출버튼
private void button2_Click(object sender, EventArgs e)
{
string str_id;
string str_name;
string str_phone;
string str_date;
ListViewItem lvi;
lv_view1.Items.Clear(); //폼의 listview 초기화
//쿼리문 준비
String sql = "SELECT id,name,phone,date FROM userTbl";
cmd.CommandText = sql; //트럭에 짐 싣기
MySqlDataReader reader; //짐을 연결한 끈, 서버에서 데이터를 가져오도록 실행
reader = cmd.ExecuteReader();
//끈 당기기
while (reader.Read())
{
str_id = reader["id"].ToString();
str_name = reader["name"].ToString();
str_phone = reader["phone"].ToString();
str_date = reader["date"].ToString();
lvi = new ListViewItem(new string[] { str_id, str_name, str_phone, str_date });
lv_view1.Items.Add(lvi);
}
reader.Close();
}
//lv_view2의 추가버튼
private void button3_Click(object sender, EventArgs e)
{
string proName;
int price;
int count;
proName = tb_proName.Text.ToString();
price = int.Parse(tb_price.Text.ToString()); //문자열타입을 정수형으로 형변환하여 넣기
count = int.Parse(tb_count.Text.ToString());
String sql = "INSERT INTO prodTbl(proName,price,count)VALUES('" + proName + "',"+price+","+count+");";
cmd.CommandText = sql;
cmd.ExecuteNonQuery(); //insert, update등 실행갯수 반환
MessageBox.Show("입력 성공~");
}
string str_proName;
string str_price;
string str_count;
ListViewItem lvi2;
//lv_view2의 추출버튼
private void button4_Click(object sender, EventArgs e)
{
lv_view2.Items.Clear(); //폼의 listview 초기화
//쿼리문 준비
String sql = "SELECT proName,price,count FROM prodTbl";
cmd.CommandText = sql; //트럭에 짐 싣기
MySqlDataReader reader; //짐을 연결한 끈, 서버에서 데이터를 가져오도록 실행
reader = cmd.ExecuteReader();
//끈 당기기
while (reader.Read())
{
str_proName = reader["proName"].ToString();
str_price = reader["price"].ToString();
str_count = reader["count"].ToString();
lvi2 = new ListViewItem(new string[] { str_proName,str_price,str_count });
lv_view2.Items.Add(lvi2);
}
reader.Close();
}
//lv_view1, lv_view2 초기화
private void button5_Click(object sender, EventArgs e)
{
lv_view1.Items.Clear();
lv_view2.Items.Clear();
}
}
}
'Programming > C#' 카테고리의 다른 글
C# 텍스트 박스에 값 입력하고 콤보박스의(+,-,*,/)을 눌러 계산값 보이기 (0) | 2021.05.31 |
---|---|
C# 타이머와 콤보박스 (0) | 2021.05.31 |
MYSQL C#연동 2 (1) | 2021.05.28 |
MYSQL C# 연동1 (0) | 2021.05.28 |
C# ListView를 다뤄보자! (0) | 2021.05.27 |
댓글