연결형 방식
DB에 접속하는 순서는
1. 서버에 연결
2. 서버에게 명령을 보내거나 프로시저를 호출해서 데이터를 달라고 요청 (SqlCommand)
3. 실행 메소드를 호출
ExecuteScalar : SQL 명령을 실행하고, Query 가 리턴하는 첫번째 행의 첫번째 열을 리턴한다.
결과가 딱 1개인 집계함수(count, sum, avg 등)에 사용한다.
MySqlCommand cnt = new MySqlCommand("select count(*) from items", myConn);
myConn.Open();
int totalCount = Convert.ToInt32(cnt.ExecuteScalar());
totalcnt.Text = Convert.ToString(totalCount); // totalcnt 라는 label 에 값을 기록
테스트를 해보니 아래 3줄로 처리하니까 잘 된다.
MySqlCommand cnt = new MySqlCommand("select count(*) from items", myConn);
myConn.Open();
totalcnt.Text = Convert.ToString(cnt.ExecuteScalar());
비연결형방식
adapter = new MySqlDataAdapter(strqry, myConn);
DataSet DS = new DataSet(); // DataSet 객체 생성
adapter.Fill(DS); // DS에 MySQL DB로부터 가져온 select * from items 의 결과물을 채우겠다.
// DB에서 가져온 총 Record 수
for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
{
totalcnt.Text = Convert.ToString(i);
}
로 처리해 줄 수도 있다.
더 간단하게 총 레코드수를 확인하는 방법이 있더라.
// DB에서 가져온 총 Record 수
totalcnt.Text = DS.Tables[0].Rows.Count.ToString();
DS.Tables[0].Rows.Count 는 int 형이라서 레이블에 결과를 기록하려고 컴파일(F5)를 했더니 오류 메시지가 나온다.
그래서 뒤에 ToString을 붙여줬더니 OK
'C# > C# SQL' 카테고리의 다른 글
C# MySQL 간단 코드 및 접속 기본지식 배우기 (0) | 2015.12.04 |
---|---|
C# MySQL 쿼리문과 연동 처리 (0) | 2015.09.12 |
C# 콤보박스(comboBox) 와 SQL 연동 (0) | 2015.09.10 |
C# 과 MySQL 연동 (0) | 2015.08.29 |
C# 과 MySQL 연결을 위한 준비 (0) | 2015.08.05 |