MySQL 데이타 읽기
MySQL의 데이타를 가져오기 위해서는 MySqlCommand/MySqlDataReader 혹은 MySqlDataAdapter를 사용한다. MySqlDataReader는 연결모드로 데이타를 서버에서 가져오는 반면, MySqlDataAdapter는 한꺼번에 클라이언트 메모리로 데이타를 가져온후 연결을 끊는다. MySqlDataAdapter에서 가져온 데이타는 주로 DataSet 객체 안에 메모리상의 테이블 형태로 존재하는데, 이를 각종 컨트롤들에게 바인딩시킬 수 있다.
예제
private static void SelectUsingReader()
{
string connStr = "Server=localhost;Database=test;Uid=root;Pwd=zzz;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
string sql = "SELECT * FROM Tab1 WHERE Id>=2";
//ExecuteReader를 이용하여
//연결 모드로 데이타 가져오기
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine("{0}: {1}", rdr["Id"], rdr["Name"]);
}
rdr.Close();
}
}
private static void SelectUsingAdapter()
{
DataSet ds = new DataSet();
string connStr = "Server=localhost;Database=test;Uid=root;Pwd=zzz;";
using (MySqlConnection conn = new MySqlConnection(connStr))
{
//MySqlDataAdapter 클래스를 이용하여
//비연결 모드로 데이타 가져오기
string sql = "SELECT * FROM Tab1 WHERE Id>=2";
MySqlDataAdapter adpt = new MySqlDataAdapter(sql, conn);
adpt.Fill(ds, "Tab1");
}
foreach (DataRow r in ds.Tables[0].Rows)
{
Console.WriteLine(r["Name"]);
}
}