PC , 스마트폰(아이폰, 안드로이드폰) 상에서 사용하는 로컬 데이터베이스로는 SQLite 가 많이 사용된다.
SQLite 는 직접 다루게 될 때 정리를 해볼 생각이다.
DataSet 은 클라이언트 메모리 상의 데이터베이스다.
메모리상에 만드는 데이터베이스는 PC를 끄거나 프로그램을 종료하면 데이터가 날라가 버린다.
따라서, 실제 데이터베이스(오라클, MySQL, MS-SQL, SQLite, 엑셀, MS Access 등)에 있는 자료를 불러다가 DataSet 과 연결하여 작업을 하고 Update, Delete, Insert 를 수행하게 된다.
DataTable 클래스는 메모리상에 테이블을 표현하는 클래스이다.
DataSet(메모리 상의 데이터베이스)은 여러개의 DataTable 들을 포함한다.
일반적으로 SqlDataAdapter 를 이용하여 데이타를 서버로부터 가져와 메모리상의 DataSet에 할당 후 사용한다.
MySQL 과 연결하는 것은 앞에 My만 붙여준다고 이해하면 된다.
static string ConnectionString = string.Format("SERVER={0};DATABASE={1};UID={2};PASSWORD={3};",server_ip,dbname,username,password); // 실제 연결할 DB의 정보를 입력해야 함
MySqlConnection myConn;
MySqlDataAdapter adapter;
myConn = new MySqlConnection(ConnectionString);
if (myConn.State == ConnectionState.Closed)
{
myConn.Open();
}
string strqry ="SELECT * FROM Table_A";
strqry += " Where 조건문";
adapter = new MySqlDataAdapter(strqry, myConn);
DataSet ds = new DataSet(); // DataSet 객체에 메모리 할당
adapter.Fill(ds, "DSTables"); // DataSet에 테이블 데이타를 넣음
for 문, foreach 문, while 문을 활용하여 데이터를 콘솔화면에 출력하거나
dataGridView와 바인딩하여 dataGridView 화면에 출력한다.
또는 listView, TreeView 에 출력할 수도 있다.
if (myConn.State == ConnectionState.Open)
{
MyConn.Close();
}
ds.Tables["DSTables"].Rows.Count 는 총 레코드수를 반환한다.
dataGridView1.DataSource = ds.Tables[0]; // DataSet을 DataGridView 컨트롤에 바인딩
ds.Tables[0].Rows.Count.ToString(); // DB에서 가져온 총 Record 수
DataTable dt = ds.Tables["DSTables"];
메모리상의 DB인 DataSet 과 실제 DB인 SQL 간에 SqlDataAdapter 를 이용하여 Select, Update, Insert, Delete 를 한다.
'C# > C# SQL' 카테고리의 다른 글
C# listView 자료를 MySQL DB에 추가, 수정, 삭제하는 방법 (0) | 2015.12.29 |
---|---|
C# MySQL 데이터를 ListView 에 Add 하는 방법 (1) (2) | 2015.12.29 |
C# MySQL 간단 코드 및 접속 기본지식 배우기 (0) | 2015.12.04 |
C# MySQL 쿼리문과 연동 처리 (0) | 2015.09.12 |
C# 콤보박스(comboBox) 와 SQL 연동 (0) | 2015.09.10 |