< C#에서의 MySql 서버 연결 및 사용 방법 >
1. .NET용 MySql 드라이버를 설치 한다.
- 경우에 따라 다르겠지만 본인의 경우에는 MySql 홈페이지에서 만든 드라이버를 설치 후 연결을 하니
euckr 문자셋이 없다는 에러를 내면서 도저히 연결이 되지 않았다.
그래서 데브피아에서 검색한 결과 ‘MySQLDriverCS’ 라는 드라이버를 알게 되어 이것을 설치 했다..
물론 연결이 아주 잘 되었다.
- 설치 및 사용 방법
여기에서 받는다. http://sourceforge.net/projects/mysqldrivercs
그런 후 설치를 한 후 프로젝트에서 참조 시킨다. 만약 참조 화면에 나타나지 않으면 수동으로
설치된 폴더에 가서 찾아서 참조 시킨다.
2. 서버 연결
- using MySQLDriverCS;
………..
MySQLConnection conn = new MySQLConnection( new MySQLConnectionString("localhost","mysql","root","").AsString );
MessageBox.Show("Connecting to database");
try
{
conn.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
3. MySQLSelectCommand 를 사용한 쿼리
- 지정된 테이블의 모든 필드를 쿼리
DataTable dt = new MySQLSelectCommand(Connection, new string[]{"*"}, new string[] {"MoneyResult"}, null, null, null).Table;
foreach(DataRow row in dt.Rows)
{
int i = 0;
string AreaCode = row["AreaCode"].ToString();
++i;
}
- 특정 필드 쿼리
…………….
DataTable dt = new MySQLSelectCommand(DBConn,
new string[] {"SettingID","SettingValue"},
new string[] {"Settings"},
new object[,] {{"SettingID","=",SettingID}},
null,
null
).Table;
string Value = null;
if(dt.Rows.Count!=0)
{
Value = dt.Rows[0]["SettingValue] as string;
}
else
{
// Value not found
}
...
- WHERE 사용 방법
………………………………………………..
string StartDt = "2005-12-01 00:00:00"; // WHERE에서 값으로 사용한다.
string EndDt = "2005-12-01 23:59:59";
DataTable dt = new MySQLSelectCommand( Connection, new string[]{"*"}, new string[] {"ItemResult"},
new object[,]{ {"Dt",">=",StartDt},{"Dt","<=",EndDt} },
null, null).Table;
foreach(DataRow row in dt.Rows)
{
……………………
}
……………………………………………………..
- 원래는 쿼리는 MySQLCommand 와 MySQLDataReader를 이용하는 것이 보통 이지만 본인이
자세히는 모르지만 MySQLDataReader가 ADO.NET에 있는 비슷한 클래스와 같은 역할을 한다면
쿼리 후 페치를 할 때 마다 서버에 연결된 상태에서 값을 가져와야 되기 때문에 데이터가 작은
경우가 아니라면 성능에 좀 문제가 되지 않을까 해서 사용하지 않고 MySQLSelectCommand를
사용하고 있음.
………………………………………..
MySQLCommand cmd = new MySQLCommand("select host,user from mysql.user",conn);
MySQLDataReader reader = cmd.ExecuteReaderEx();
while(reader.Read())
{
ListViewItem lvi = new ListViewItem("Low Level - Host:"+reader.GetString(0)+" , User:"+reader.GetString(1));
lvData.Items.Add(lvi);
}
reader.Close();
cmd.Dispose();
……………………………………………………………
- DataAdapter 를 사용하여 쿼리 하는 방법
예)
………………………………………………..
string strQuery = "SELECT Dt, ItemCode, Cnt FROM ItemResult”;
MySQLDataAdapter DataAdapter = new MySQLDataAdapter();
MySQLCommand cmd = new MySQLCommand();
cmd.Connection = Connection;
cmd.CommandText = strQuery;
DataAdapter.SelectCommand = cmd;
DataSet ResultDataSet = new DataSet();
DataAdapter.Fill( ResultDataSet , "ItemResult" );
…………………………………………….
[출처] c#에서 mysql 접속하기
(N20091112)
'프로그래밍' 카테고리의 다른 글
(웹 프로그래밍 팁) 자바스크립트의 클로저 (0) | 2018.06.12 |
---|---|
(PC 가상머신) VMWare와 파일 공유 방법. (XP-VMWare 공유 폴더) (0) | 2018.06.12 |
(데이터베이스 오류 정보) [MySql]is not allowed to connect to this MySQL server (0) | 2018.06.12 |
(데이터베이스 연결도구) MDAC에 대해서... (0) | 2018.06.12 |
(웹 프로그래밍) 자바스크립트 강좌 (0) | 2018.06.11 |