728x90
반응형
2020/02/28 - [IT] - [C#] 가계부 프로그램 만들기 DAY1. Database 설정 및 연결
2020.10.15 포스팅 수정
가계부 프로그램에서 사용하기 위해 DBMySql 클래스를 수정하였습니다.
각각의 Select, Insert, Update, Delete 함수는 사용자가 사용방식에 맞게 수정하여 사용할 수 있습니다.
String Sql 구문에서 DataBase에서 입력할 쿼리를 입력하고, 각각의 변수들을 변경하여 사용할 수 있습니다.
현재 아래에 있는 코드들은 가계부 프로그램에서 사용하기 위해 작성한 코드입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
using MySql.Data.MySqlClient;
using System;
using System.Data;
using System.Windows.Forms;
namespace AccountBook
{
public class DBMySql
{
MySqlConnection conn = new MySqlConnection($"server={Config.Server};uid={Config.UserID};" +
$"pwd={Config.UserPassword};database={Config.Database};pooling=false;allow user variables=true");
MySqlDataAdapter adpt;
MySqlCommand cmd;
public void Connection()
{
try
{
conn.Open();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
conn.Close();
}
public DataSet SelectAll(string table)
{
try
{
DataSet ds = new DataSet();
string sql = $"SELECT * FROM {table}";
adpt = new MySqlDataAdapter(sql, conn);
adpt.Fill(ds, table);
if(ds.Tables.Count > 0)
{
return ds;
} else
{
return null;
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
public DataSet SelectDetail(string table, string condition, string where = "")
{
try
{
DataSet ds = new DataSet();
string sql = $"SELECT {condition} FROM {table} {where}";
adpt = new MySqlDataAdapter(sql, conn);
adpt.Fill(ds, table);
if (ds.Tables.Count > 0)
{
return ds;
}
else
{
return null;
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
public void Insert(string table, string value)
{
try
{
conn.Open();
string sql = $"INSERT INTO {table} VALUES ({value})";
cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
public void Update(string table, string setvalue, string wherevalue)
{
try
{
conn.Open();
string sql = $"UPDATE {table} SET {setvalue} WHERE {wherevalue}";
cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
public void DeleteAll(string table)
{
try
{
conn.Open();
string sql = $"DELETE FROM {table}";
cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
public void DeleteDetail(string table, string wherecol, string wherevalue)
{
try
{
conn.Open();
string sql = $"DELETE FROM {table} WHERE {wherecol}='{wherevalue}'";
cmd = new MySqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
throw;
}
}
}
}
|
cs |
728x90
반응형
'IT > C#' 카테고리의 다른 글
[C#] Mouse Event를 통해서 Picturebox 포인트 사이 거리 구하기 (1) | 2019.05.31 |
---|---|
[C#] Picturebox 위에 Grid 격자 모눈종이 그리기 (0) | 2019.05.29 |
[C#][Solved] System.ArgumentOutOfRangeException: 'InvalidArgument=Value of '-1' is not valid for 'index'. (0) | 2019.04.03 |
[C# winform] TextBox 커서 자동으로 깜빡이게 (0) | 2019.01.10 |
[C#] PictureBox 이미지 자르고 적용하기 (0) | 2018.12.05 |