1. 원격 데이터베이스 지원 안내
2. MySQL 설치(환경 구축)
2-2. MySQL Workbench 설치 후 데이터베이스 및 계정 만들기
2-3. MySQL의 데이터베이스 및 계정 만들기(커맨드 창)
3-2. 마리아(Maria) DB의 데이터베이스 및 계정 만들기(커맨드 창)
5. SQL CE의 사용 방법과 MySQL 클라이언트 프로그램의 사용 방법 소스 비교
순서로 진행합니다.
기존 SQL Mobile for ADO.NET을 사용하여 데이터베이스 처리를 하는 경우 해당 IEC-Series 한 대에서만 데이터를 조작 가능하였으나 MySQL/MariaDB를 사용하여 접속하는 경우 동시에 여러 장비가 로컬/리모트 방식으로 데이터 조작이 가능합니다.
-
SQL CE 사용(기존 방식) IEC-Series 내부의 DB 1. 해당 기기 한 대만 사용 가능
2. IEC-Series 기기에서만 DB 접근 가능 -
MySQL/Maria DB 사용(새로운 방식) 원격지의 MySQL/Maria DB 서버와 IEC-Series(복수) 1. Server(MySQL/MariaDB) 〈-- --〉 Client(IEC-Series) 가능. 동시에 여러 장비 운영 가능
2. Remote 기능 사용 가능
인터넷 또는 네트웍이 연결된 곳이라면 어디든지 데이터 접속 가능
-
MySQL DB Server Side DB Engine IDE Tool Command MySQL WorkBench 지원 지원
DB Client Side DB Access Engine MySQL Connector Net 6.9.8 Assemblies -
Maria DB DB Server Side DB Engine IDE Tool Command Maria DB 미지원 지원
DB Client Side DB Access Engine MySQL Connector Net 6.9.8 Assemblies
2. MySQL 환경 구축하기
여기서는 MySQL을 다운로드하고 설치하는 방법을 안내합니다.
2-1. MySQL 설치
-
[STEP-1] https://downloads.mysql.com/archives/installer/에 접속합니다.
※ 해당 사이트 주소는 추후 dev.mysql.com에 의해 별도의 공지 없이 변경될 수 있습니다.
-
[STEP-2] Windows (x86, 32-bit), MSI Installer를 다운로드 합니다.
해당 페이지에서 Product Version을 5.7.38 버전으로 설정한 뒤 설치 파일 중 아래의 Windows (x86, 32-bit), MSI Installer (대략 523MB 용량)을 다운로드 받습니다. 현재 설치 안내 페이지에서는 사용하는 개발 PC의 운영체제(OS)의 시스템이 32비트, 64비트 관계없이 하나의 설치파일로 설치가 가능하다고 안내하고 있습니다.
-
[STEP-3] 다운로드 후 받은 파일을 실행하여 설치를 진행합니다.
- [STEP-3-1] Choosing a Setup Type 화면에서 Server only를 선택합니다.
윈도우 OS의 경우 기본 설치되는 위치는 C:\Program Files\MySQL Server 5.7이며 사용하는 OS와 사용자의 경로 지정에 따라 다를 수 있습니다.
-
[STEP-3-2] 설치를 진행하신 뒤 Type and Networking 화면에서 MySQL Server 환경설정을 진행합니다.
Config Type은 Development Computer로 설정한 뒤 TCP/IP 체크, Port는 3306으로 설정합니다.
주의MySQL Server는 기본 3306포트를 사용하며 OS의 방화벽 정책에서 해당 포트를 차단하지 않기 위해 Open Firewall port for network access를 체크하기 바랍니다.
-
[STEP-3-3] Accounts and Roles 화면에서 MySQL Root Password를 설정할 수 있습니다,
사용하시는 분들은 복잡한 암호로 설정을 권장합니다. 하단의 Add User 버튼을 클릭하고 사용자가 원하는 임의의 User를 생성합니다
Ex) Add User 추가 예시UserName Host Role Authentication Password smartx <All Hosts (%)> DB Admin MySQL 12345 User
NameHost Role Authen
ticationPass
wordsmartx <All Ho
sts (%)>DB
AdminMySQL 12345 -
[STEP-4] Windows Service 화면에서 이름을 지정 → Plugins and Extensions 화면은 통과 → Apply Server Configuration 화면에서
“Execute”를 클릭하면 설치가 진행되고 설치 완료 후 “Finish” 버튼을 클릭하면 모든 설치가 완료됩니다.
※ 파일 설치에 관한 보다 자세한 설명을 원하시는 경우 MySQL 사이트의 안내를 참조하시기 바랍니다
2-2. MySQL Workbench 설치 후 데이터베이스 및 계정 만들기 1) MySQL Workbench 설치
-
[STEP-1] https://downloads.mysql.com/archives/workbench/에 접속합니다.
※ 해당 사이트 주소는 추후 dev.mysql.com에 의해 별도의 공지 없이 변경될 수 있습니다.
- [STEP-2] Windows (x86, 64-bit), MSI Installer를 다운로드 합니다.
해당 페이지에서 Product Version을 6.35 버전으로 설정한 뒤 설치 파일 중 Windows (x86, 64-bit), MSI Installer를 다운로드 받습니다.
-
[STEP-3] 다운로드 받은 설치 파일을 실행하여 MySQL Workbench를 설치합니다.
별도의 설정 없이 Next를 클릭하여 설치를 진행하시기 바랍니다
- [STEP-1] 스키마(데이터베이스)를 생성합니다.
좌측에서부터 4번째 아이콘인 “Create a new schema in the connected server”를 선택합니다.
- [STEP-2] 스키마(데이터베이스)의 Name과 Collation을 설정합니다.
스키마의 이름은 “smartx”로 Collation은 “utf8-default collation”으로 선택합니다.
- [STEP-3] 데이터베이스 생성 완료하기
우측 하단의 Apply 버튼을 클릭하면 스키마(데이터베이스)가 성공적으로 생성됩니다. 만약 동일한 스키마가 존재하는 경우 에러가 발생하므로 주의 바랍니다. 왼쪽의 Navigator바에서 생성된 스키마를 확인 가능합니다.
- [STEP-1] Users and Privileges → Add Account 선택
왼쪽 Navigator에서 Users and Privileges를 클릭하면 위와 같은 화면이 나오는데 사용자 계정을 추가하기 위해 Add Account를 클릭합니다.
- [STEP-2] User Id와 Password를 입력
Login Name에 사용자 이름(smartx)을, Password와 Confirm Password에 비밀번호(12345)를 입력합니다.
- [STEP-3] 사용자에게 권한 설정하기
사용자에게 권한을 주기 위해, Login 탭에서 Schema Privileges 탭으로 이동을 한 후 Add Entry... 버튼을 클릭합니다.
- [STEP-4] 사용할 스키마 선택
특정 스키마(데이터베이스)를 사용할 수 있게 권한 설정을 하려면, Selected schema를 선택한 후 사용할 스키마를 선택하고 OK 버튼을 누르면 됩니다. 전체 스키마에 접근하게 하려면 All schema를 선택합니다.
- [STEP-5] 사용자의 권한을 설정
각각의 권한을 따로 줄 수도 있고 우측 하단의 Select ALL을 선택하여 전체 권한을 줄 수도 있습니다.
아래의 설명의 경우 MySQL Workbench를 사용하지 않고 명령 프롬프트(CMD)에서 데이터베이스 및 계정을 만드는 방법에 대해서 설명하고 있습니다. 2-2 내용을 참고하여 Workbench로 데이터베이스 및 계정 생성을 완료하셨다면 아래의 내용은 넘어가셔도 됩니다.
-
[STEP-1] 검색 창에서 “CMD”를 입력하여 명령 프롬프트를 실행합니다.
- [STEP-2] 홈 디렉토리를 MySQL Server가 설치된 위치로 이동합니다.
CD C:\Program Files\MySQL\MySQL Server 5.7\bin 명령어를 입력하여 디렉토리를 이동합니다.
※ 별도로 경로를 지정하지 않은 경우 위치는 “C:\Program Files\MySQL\MySQL Server 5.7\bin”입니다.
- [STEP-3] C:\Program Files\MySQL\MySQL Server 5.7\bin 경로에 진입했다면mysql -u smartx -p를 입력합니다.
Ex) mysql -u smartx -p를 입력하고 Enter password : 에는 12345를 입력합니다.
-
[STEP-4] mysql에 show databases;를 입력하여 DB목록을 확인합니다.
-
[STEP-5] 기존에 존재하는 Database를 사용해도 되지만 여기서는 신규로 Database를 생성해보겠습니다.
mysql>create database DB명; 을 입력합니다.
Ex) create database smartx;
mysql>show databases; 를 다시 입력해보면 smartx가 만들어져 있습니다. -
[STEP-6] 계정을 만들고 권한을 부여하는 명령어를 입력합니다.
※ 설명의 편의를 위해 모든 권한을 주었지만 실제 사용 시에는 필요한 권한만 부여하시기 바랍니다.mysql>create user ‘user name’ identified by ‘password’; 를 입력하여 계정을 추가합니다.
Ex) create user ‘smartx’ identified by ‘12345’;
그 후 계정에 권한을 부여하기 위해 다음 명령어를 입력합니다.
mysql>grant all privileges on smartx.* to ‘user name’;
Ex) grant all privileges on smartx.* to ‘smartx’;참고보다 자세한 MySQL 내용은 "http://www.mysql.com/"에서 검색이 가능합니다.
3. Maria DB 환경 구축하기
여기서는 Maria DB를 다운로드하고 설치하는 방법을 안내합니다.
3-1. Maria DB 설치하기-
[STEP-1] https://downloads.mariadb.org/에 접속합니다.
※ 사이트 주소 및 설치파일은 추후 http://mariadb.org/에 의해 별도의 공지 없이 변경될 수 있습니다.
- [STEP-2] 사용하는 PC의 OS환경에 일치하는 파일을 다운로드 받습니다.
해당 사이트에 접속 후 MariaDB Server Version아래에 있는 Display older releases 체크박스를 체크합니다. 그 후 MarialDB Server 10.1.18 버전을 선택한 뒤 OS 환경에 맞게 설정 후 다운로드합니다. 파일 다운로드 시 가입을 요구하는 경우 하단의 "No thanks, just take me to the download"를 클릭합니다.
-
[STEP-3] 다운로드 후 받은 파일을 실행하여 설치를 진행합니다.
- [STEP-3-1] Custom Setup 화면에서 설정 변경없이 기본 설정으로 진행합니다.
윈도우 OS의 경우 기본 설치되는 위치는 C:\Program Files\MariaDB 10.1\이며 사용하는 OS와 사용자의 경로 지정에 따라 다를 수 있습니다.
- [STEP-3-2] Default instance properties 화면에서 ‘root’ 사용자의 암호를 설정합니다.
Modify password for database user ‘root’를 체크하고 New root password에 비밀번호를 입력합니다. Confirm에도 동일한 비밀번호를 입력합니다.
원격에서 root 사용자의 접속이 되기 위해 Enable access from remote machines for ‘root’ user를 체크합니다. - [STEP-3-3] Default instance properties 화면에서 기본 설정 값을 유지하고 Next를 클릭합니다.
- Install as service 체크. Service Name : MySQL
- Enable networking 체크. TCP port : 3306
- Optimize for transactions 체크. Buffer pool size : 776MB주의마리아(Maria) DB는 기본 MySQL에서 파생된 DB로서 Service Name과 TCP port가 MySQL과 동일하여 기본설정으로 설치 시 에러가 발생하므로 MySQL 과 함께 사용하는 경우에는 TCP port 번호를 MySQL과 다르게 하여 사용하기 바랍니다.
-
[STEP-3-4] Install 버튼을 클릭하여 설치를 진행하고 설치가 완료되면 Finish버튼을 클릭합니다.
-
[STEP-1] Maria DB의 접속을 위해 윈도우 실행창에 ‘CMD’를 입력하고 Maria DB의 설치 경로인 C:\Program Files\MariaDB 10.1\bin으로 이동합니다.
CD C:\Program Files\MariaDB 10.1\bin 명령어를 입력하여 디렉토리를 이동합니다.
-
[STEP-2] 첨부된 예제 테스트를 위해 DB(smartx)와 User(smartx)를 추가해야 합니다.
- [STEP-2-1] 먼저 root 사용자로 데이터 베이스 접속합니다.
C:\Program Files\MariaDB 10.1\bin>mysql -u root -p12345 명령어를 입력합니다.
- [STEP-2-2] 데이터베이스 smartx를 생성합니다.
Maria DB [(none)]>create database smartx; 명령어를 입력합니다.
- [STEP-2-3] 아이디는 smartx, 비밀번호는 12345인 계정(User)를 생성합니다.
Maria DB [(none)]>create user 'smartx' identified by '12345' 명령어를 입력합니다.
-
[STEP-2-4] 계정 smartx에게 smartx데이터베이스 내의 모든 테이블에 모든 권한을 부여합니다.
※ 설명의 편의를 위해 모든 권한을 주었지만 실제 사용 시에는 필요한 권한만 부여하시기 바랍니다.Maria DB [(none)]>grant all privileges on smartx.* to ‘smartx’ 명령어를 입력합니다.
주의 마리아 DB의 버전에 따라 워크벤치와 호환성 문제가 존재하는 경우가 있습니다. 워크벤치 프로그램에서는 워크벤치가 MySQL DB 5.1, 5.5, 5.6, 5.7에서 테스트되었다고 안내합니다. 그 이외의 MySQL DB 버전을 사용하는 경우 호환성 문제로 정상 동작하지 않을 수 있습니다. 만약 마리아 DB로 인해 워크벤치가 정상적으로 접속되지 않는 경우 MySQL DB 사용을 권장합니다.
4. IEC-Series(클라이언트)의 환경 구축하기
서버사이드 구축(MySQL Server 환경설정)이 완료된 후 MySQL의 Client환경 구축이 필요합니다. 프로젝트에서 MySQL Server로 접속하기 위해 반드시 MySql.Data.CF.dll 파일을 참조해야 합니다. 이 파일은 MySQL Connector를 설치한 후 “C:\Program Files(x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v2.0” 경로에 존재합니다. 현재 6.4.4 ~ 6.9.8버전까지 사용 가능하기 때문에 알맞은 버전을 설치하셔야 합니다. (본 예제에서는 6.9.8 버전을 사용하였습니다.)
- [STEP-1] https://downloads.mysql.com/archives/c-net/에 접속합니다.
※ 해당 사이트 주소는 추후 dev.mysql.com에 의해 별도의 공지 없이 변경될 수 있습니다.
- [STEP-2] Windows(x86, 32-bit), MSI Installer를 다운로드합니다.
현재 설치 안내 페이지에서는 사용하는 개발 PC의 운영체제(OS)의 시스템이 32비트, 64비트 관계없이 하나의 설치파일로 설치가 가능하다고 안내하고 있습니다. MSI Installer만 지원하고 있으니 반드시 인터넷이 되는 개발 컴퓨터에서 설치하시길 바랍니다.
주의mysql-connector-net-6.4.4.exe ~ mysql-connector-net-6.9.8.exe 버전까지만 MySql.Data.CF.dll 파일을 지원하고 있으니 반드시 알맞은 버전으로 설치하시길 바랍니다.
- [STEP-3] 다운로드 받은 파일을 압축 해제 후 설치를 진행합니다.
- [STEP-3-1] 압축 해제한 파일을 더블 클릭하여 Setup 화면 진행 후 Choose Setup Type에서 Complete을 선택 후 설치를 진행합니다.
정상적으로 설치가 완료된 경우 설치 경로는 C:\Program Files(x86)\MySQL\MySQL Connector Net 6.9.8\로 설정됩니다.
- ※ 프로젝트 → 솔루션 탐색기 → 참조 → 참조 추가를 선택합니다.
- ※ 파일 위치 : C:\Program Files(x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v2.0
[표] Test DB "Employee"의 구조
컬럼 | NAME | AGE | POSITION | PART | ENTERING |
설명 | 이름 | 나이 | 직책 | 부서 | 현재시간 |
데이터 타입 | varcha(30) | int(5) | varchar(30) | varchar(30) | DateTime |
컬럼 | NAME | AGE | POSI TION |
PART | ENTE RING |
설명 | 이름 | 나이 | 직책 | 부서 | 현재 시간 |
데이터 타입 |
varcha (30) |
int (5) |
varchar (30) |
varchar (30) |
Date Time |
기본 구성 | Server=myServerAddress; [Port=1234]; Database=myDataBase;Uid=myUsername; Pwd=myPassword; |
---|---|
데이터 타입 |
Server: MySQL 서버 주소(IP or URL) Port : 서버 포트 생략할 경우 기본값 설정됨 (기본값: 3306) Database : 사용할 DataBase 이름 Uid : 사용자 접속 계정 Pwd : 접속 Password |
기본 구성 |
Server=myServerAddress; [Port=1234]; Database=myDataBase; Uid=myUsername; Pwd=myPassword; |
---|---|
데이터 타입 |
Server: MySQL 서버 주소(IP or URL) Port : 서버 포트 생략할 경우 기본값 설정됨 (기본값: 3306) Database : 사용할 DataBase 이름 Uid : 사용자 접속 계정 Pwd : 접속 Password |
5. SQL CE의 사용 방법과 MySQL 클라이언트 프로그램의 사용 방법 소스 비교 1) 데이터베이스 커넥션 객체 선언(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
// 데이터베이스 커넥션 객체 선언 private SqlCeConnection m_conn; // 데이터베이스 경로 문자열 변수 선언 private string m_strDBPathName; // 데이터베이스 경로 설정 속성 public string DBPathName { set
} { // valule는 속성값
}m_strDBPathName = value; get { return m_strDBPathName;
} |
// 데이터베이스 커넥션 객체 선언 private MySqlConnection m_conn; // 쿼리 객체 생성. 데이터의 삽입, 삭제 // 갱신을 위해 MySqlCommand 선언 MySqlCommand comm; |
2) 데이터베이스 연결 처리(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
// 데이터베이스 연결 처리(성공 : 리턴값 True, 실패 : 리턴값 False) public bool Connection() { string strConnection;
} strConnection = @"Data Source=###"; strConnection = strConnection.Replace(@"###", m_strDBPathName); try { // 데이터베이스 연결 설정
}m_conn = new SqlCeConnection(strConnection); catch (Exception exp) { exp.ToString();
}return false; return true; |
// 데이터베이스 연결 처리(성공 : 리턴값 True, 실패 : 리턴값 False) public bool Connection(string strServerAddress, string strDBName, string strUserID, string strPassword) { string strConnection;
} strConnection = String.Format("server={0};uid={1};pwd={2};database={3};Charset=utf8", strServerAddress, strUserID, strPassword, strDBName); m_conn = new MySqlConnection(strConnection); try { // 데이터베이스 연결 설정
}m_conn = new MySqlConnection(strConnection); /// 데이터베이스 연결 m_conn.Open(); // 데이터베이스 smartx에 EMPLOYEE 테이블이 존재하는 경우 삭제 후 다시 만듬 // 데이터베이스 연결 시 최초 1회 실행 string sql = "DROP TABLE IF EXISTS EMPLOYEE; CREATE TABLE EMPLOYEE(NAME varchar(30), AGE int(5), POSITION varchar(30),PART varchar(30), ENTERING DateTime)"; // 데이터의 삽입, 삭제, 갱신을 위해 MySqlCommand에 해당 sql문을 인자로 입력 comm = new MySqlCommand(sql, m_conn); // 연결에 대해 Transact-SQL문을 실행하고 영향을 받는 행을 반환 comm.ExecuteNonQuery(); catch (MySql.Data.MySqlClient.MySqlException exp) { exp.ToString();
}return false; m_conn.Close(); return true; |
3) 데이터베이스 처리 객체 생성과 연결(Form1.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
// 데이터베이스 처리 객체 생성 m_CEDataBase = new CCEADODOTNET(); // 데이터베이스 경로 설정(CCEADODOTNET.cs 클래스를 참조) m_CEDataBase.DBPathName = "SD Card\\emp.sdf"; // 데이터베이스 연결(CCEADODOTNET.cs 클래스를 참조) m_CEDataBase.Connection(); |
// 데이터베이스 처리 객체 생성 m_CEDataBase = new CCEADODOTNET(); // 데이터베이스 연결(CCEADODOTNET.cs 클래스를 참조) // m_CEDataBase.Connection(strServerAddress, strDBName, strUserID, strPasswrod)로 구성됩니다. // StrServerAddress는 MySQL Server의 주소를 입력하며 도메인 혹은 IP를 입력합니다. // StrDBName는 해당 DBName을 입력하며 MySQLServer에서 생성된 DB명을 입력합니다. // strUserID는 MySQL Server에 접속하는 경우 연결할 UserID를 입력합니다. // strPassword는 해당 UserID의 Password를 입력합니다. // 입력 예시 m_CEDataBase.Connection("192.168.1.14","smartx","smartx", "12345"); |
4) 데이터베이스 Open(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
// 연결된 데이터베이스를 Open private bool Open() { if (m_conn == null)
} { return false;
}try { // 데이터베이스 Open
}m_conn.Open(); catch (Exception exp) { exp.ToString();
}return false; return true; |
// 연결된 데이터베이스를 Open private bool Open() { if (m_conn == null)
} { return false;
} try { // 데이터베이스 Open
}m_conn.Open(); catch (MySql.Data.MySqlClient.MySqlException exp) { exp.ToString();
}return false; return true; |
5) 데이터베이스 데이터 삽입(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
// 데이터베이스에 사원 정보 입력(성공 : 리턴값 True, 실패 : 리턴값 False) public bool AddData(Employee emp) { if (m_conn == null)
} { return false;
} // 연결된 데이터베이스 Open Open(); // 사원 정보를 저장하기 위한 SQL 쿼리 string strQuery = "INSERT INTO EMPLOYEE VALUES (@NAME, @AGE, @POSITION, @PART, @ENTERING)"; // 쿼리 객체 생성 SqlCeCommand comm = new SqlCeCommand(strQuery, m_conn); // 필드 데이터 타입 설정 comm.Parameters.Add("@NAME",System.Data.SqlDbType.NVarChar); comm.Parameters.Add("@AGE",System.Data.SqlDbType.Int); comm.Parameters.Add("@POSITION",System.Data.SqlDbType.NVarChar); comm.Parameters.Add("@PART",System.Data.SqlDbType.NVarChar); comm.Parameters.Add("@ENTERING",System.Data.SqlDbType.DateTime); // 필드값 설정 comm.Parameters["@NAME"].Value = emp.strName; comm.Parameters["@AGE"].Value = emp.iAge; comm.Parameters["@POSITION"].Value = emp.strPosition; comm.Parameters["@PART"].Value = emp.strPart; comm.Parameters["@ENTERING"].Value = emp.dDatetime; // 쿼리 실행 try { if (comm.ExecuteNonQuery() == 1)
}{ comm.Dispose();
}//Close 메서드가 호출되어야 변경된 데이터베이스의 내용이 물리적인 파일에 기록된다. // 따라서 장치(IEC-Series)의 전원이 임의로 Off될 수 있는 시스템에서는 // 데이터 베이스의 변경이 발생할 경우 m_conn.Close()메서드를 반드시 호출하시기 바랍니다. m_conn.Close(); // 정보 입력 성공 return true; catch(SqlCeException) { return false;
}// 정보 입력 실패 return false; |
// 데이터베이스에 사원 정보 입력(성공 : 리턴값 True, 실패 : 리턴값 False) public bool AddData(Employee emp) { if (m_conn == null)
} { return false;
}// 연결된 데이터베이스 Open Open(); // 사원 정보를 저장하기 위한 SQL 쿼리 string strQuery = "INSERT INTO EMPLOYEE VALUES (@NAME, @AGE, @POSITION, @PART, @ENTERING)"; // 쿼리 객체 생성 comm = new MySqlCommand(strQuery, m_conn); // 필드 데이터 타입 설정 comm.Parameters.Add("@NAME", MySqlDbType.VarChar); comm.Parameters.Add("@AGE", MySqlDbType.Int32); comm.Parameters.Add("@POSITION", MySqlDbType.VarChar); comm.Parameters.Add("@PART", MySqlDbType.VarChar); comm.Parameters.Add("@ENTERING", MySqlDbType.DateTime); // 필드값 설정 comm.Parameters["@NAME"].Value = emp.strName; comm.Parameters["@AGE"].Value = emp.iAge; comm.Parameters["@POSITION"].Value = emp.strPosition; comm.Parameters["@PART"].Value = emp.strPart; comm.Parameters["@ENTERING"].Value = emp.dDatetime; // 쿼리 실행 try { if (comm.ExecuteNonQuery() == 1)
}{ comm.Dispose();
}// Close 메서드가 호출되어야 변경된 데이터베이스의 내용이 물리적인 파일에 기록된다. // 따라서 장치(IEC-Series)의 전원이 임의로 Off될 수 있는 시스템에서는 // 데이터 베이스의 변경이 발생할 경우 m_conn.Close()메서드를 반드시 호출하시기 바랍니다. m_conn.Close(); // 정보 입력 성공 return true; catch (MySql.Data.MySqlClient.MySqlException ex) { return false;
}m_conn.Close(); // 정보 입력 실패 return false; |
6) 데이터베이스 데이터 삭제(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
public bool DeleteData(string strName) { if (m_conn == null)
} { return false;
}// 연결된 데이터베이스 Open Open(); // 사원 정보를 삭제하기 위한 SQL 쿼리 string strQuery = "DELETE FROM EMPLOYEE WHERE NAME = '" + strName + "'"; // 쿼리 객체 생성 SqlCeCommand comm = new SqlCeCommand(strQuery, m_conn); // 쿼리 실행 if (comm.ExecuteNonQuery() == 1) { comm.Dispose();
}// Close 메서드가 호출되어야 변경된 데이터베이스의 내용이 물리적인 파일에 기록된다. // 따라서 장치(IEC-Series)의 전원이 임의로 Off될 수 있는 시스템에서는 데이터베이스의 변경이 발생할 경우 m_conn.Close()메서드를 반드시 호출하시기 바랍니다. m_conn.Close(); return true; return false; |
public bool DeleteData(string strName) { if (m_conn == null)
} { return false;
}// 연결된 데이터베이스 Open Open(); // 사원 정보를 삭제하기 위한 SQL 쿼리 string strQuery = "DELETE FROM EMPLOYEE WHERE NAME = '" + strName + "'"; // 쿼리 객체 생성 MySqlCommand comm = new MySqlCommand(strQuery, m_conn); // 쿼리 실행 if (comm.ExecuteNonQuery() == 1) { comm.Dispose();
}// Close 메서드가 호출되어야 변경된 데이터베이스의 내용이 물리적인 파일에 기록된다. // 따라서 장치(IEC-Series)의 전원이 임의로 Off될 수있는 시스템에서는 데이터베이스의 변경이 발생할 경우 m_conn.Close()메서드를 반드시 호출하시기 바랍니다. m_conn.Close(); return true; return false; |
7) 데이터베이스 데이터 검색(CCEADODOTNET.cs 부분)
SqlCE (기존) | MySQL(신규) |
---|---|
public DataSet SearchData(string strName) {
DataSet retDataSet = new DataSet();
}
string strQuery; // 사원 정보를 얻기위한 위한 SQL 쿼리 (* 인경우 모든 정보를 얻음) if (strName == "*") { strQuery = "SELECT NAME, AGE, POSITION, PART, ENTERING FROM EMPLOYEE";
}else { strQuery = "SELECT NAME, AGE, POSITION, PART, ENTERING FROM EMPLOYEE WHERE NAME = '" + strName + "'";
}if (m_conn == null) { return null;
}// 연결된 데이터베이스 Open Open(); SqlCeDataAdapter adpt = new SqlCeDataAdapter(strQuery, m_conn); adpt.Fill(retDataSet); m_conn.Close(); return retDataSet; |
public DataSet SearchData(string strName) {
DataSet retDataSet = new DataSet();
}
string strQuery; // 사원 정보를 얻기위한 위한 SQL 쿼리 (* 인경우 모든 정보를 얻음) if (strName == "*") { strQuery = "SELECT NAME, AGE, POSITION, PART, ENTERING FROM EMPLOYEE";
}else { strQuery = "SELECT NAME, AGE, POSITION, PART, ENTERING FROM EMPLOYEE WHERE NAME = '" + strName + "'";
}if (m_conn == null) { return null;
}// 연결된 데이터베이스 Open Open(); MySqlDataAdapter adpt = new MySqlDataAdapter(strQuery, m_conn); adpt.Fill(retDataSet); m_conn.Close(); return retDataSet; |