반응형
한동안 컴터도 포맷하고, MySQL때문에 시간을 많이 버렸네요 ㅠ
이번에는 DB에 기록들을 저장해 보겠습니다.
전체적인 모습은 위와 같습니다.
DB에서 datetimepicker로 선택된 날짜의 데이터를 가져와 뿌려줍니다.
기본적으로 오늘 날짜를 가져오게 하였습니다.
1 | dateTimePicker1.Value = DateTime.Now; | cs |
DB를 가져오는 방법으로는 동기와 비동기 2가지 방식이 있는데 비동기 방식을 선택하였습니다.
먼저 DB의 구조입니다.
schema는 test이며, table은 answertest입니다.
총 4개의 column이 있고, id는 자동으로 생성되는 primary key이고, 총 저장할 건 No, Record, Date입니다.
1 2 3 4 5 6 7 8 | String strCon = "Server=localhost;Database=test;Uid=test;Pwd=;"; DataSet ds = new DataSet(); string sql = "SELECT * FROM answertest where date like '"+date+"%'"; using(MySqlConnection conn=new MySqlConnection(strCon)) { MySqlDataAdapter adpt = new MySqlDataAdapter(sql, conn); adpt.Fill(ds, "answertest"); } | cs |
MySQL에 MySqlConnection으로 접속 하고, MySqlDataAdapter를 통해 DataSet에 저장을 합니다.
Line 1 : MySQL에 접근을 하기위한 정보들입니다.
Line 3 : like를 쓴 이유는 실제 데이터가 저장될때 시간까지 저장되는데 날짜로 가져와야 하기 때문에 like를 썼습니다.
위와 같이 실행을 하고나면 ds에 쿼리한 DB정보가 저장됩니다.
이 데이터는 foreach문으로 listview에 뿌려줍니다.
1 2 3 4 5 6 7 | foreach(DataRow r in ds.Tables[0].Rows) { ListViewItem lv = new ListViewItem(r["no"].ToString()); lv.SubItems.Add(r["record"].ToString()); lv.SubItems.Add(r["date"].ToString()); listView2.Items.Add(lv); } | cs |
DB에 저장은 어플리케이션에서 기록버튼을 누를때마다 DB에 insert하도록 했습니다.
1 2 3 4 5 6 | using (MySqlConnection conn = new MySqlConnection(strCon)) { conn.Open(); MySqlCommand cmd = new MySqlCommand("INSERT INTO answertest (no,record,date) VALUES ("+recordCnt+",'"+timerText.Text+"','"+dateTimeText.Text.ToString()+"')", conn); cmd.ExecuteNonQuery(); } | cs |
반응형
'Study > C#(Window programming)' 카테고리의 다른 글
c# RichTextBox 텍스트 라인 유지(FIFO방식) (0) | 2020.08.20 |
---|---|
text 창 text 다양한 color 나오게 하기 (0) | 2020.08.15 |
C# 기초(MonthCalendar와 DateTimePicker) (0) | 2015.07.27 |
C# 시계만들기 (0) | 2015.07.24 |
C# Tip (디버깅중 코드 수정하기) (0) | 2015.07.24 |