반응형
준비물
1. Mysql 연동을 위한 라이브러리
2. Mysql 라이브러리를 사용하기 위한 메서드
- 원본 소스파일에서 라이브러리와 메서드 소스파일을 include해야 하기 때문에 파일이 같은 위치에 존재하여야 합니다.
- 라이브러리는 컴파일 환경에 따라 32bit 혹은 64bit를 맞추어 사용해주세요.
- 라이브러리는 컴파일 환경에 따라 32bit 혹은 64bit를 맞추어 사용해주세요.
사용법
메서드 불러오기
#include mysql.ahk
소스 최상단에 메서드가 작성되어있는 mysql.ahk 소스파일을 include 해줌으로써 원본 소스에서 해당 메서드를 사용할 수 있습니다.
DB 연결하기
get_db := dbConnect(HOST,UESR,PW,DATABASE)
dbConnect() 메서드를 이용해 자신이 접근하고자 하는 데이터베이스를 연결합니다.
파라미터는 호스트, 유저, 유저의 비밀번호, 스키마 이름 입니다.
연결된 DB는 get_db라는 변수에 넣어주었습니다.
파라미터는 호스트, 유저, 유저의 비밀번호, 스키마 이름 입니다.
연결된 DB는 get_db라는 변수에 넣어주었습니다.
쿼리문 실행
result := dbQuery(get_db,"SELECT * FROM member where id='mem1';")
각종 쿼리문을 실행하기 위한 명령어 dbQuery()입니다.
파라미터는 데이터베이스, 쿼리문입니다.
SELECT는 값을 받아오는 명령어이기 때문에 result 에 결괏값을 저장했습니다.
파라미터는 데이터베이스, 쿼리문입니다.
SELECT는 값을 받아오는 명령어이기 때문에 result 에 결괏값을 저장했습니다.
인코딩 방식 선언
dbQuery(get_db,"set character set euckr")
위 쿼리문을 따라 해보신 분들은 이미 눈치채셨겠지만,
SELECT 같은 결괏값을 반환해주는 명령어를 수행 후 저장한 값을 읽어보시면 한글이 깨지는 현상이 있습니다.
그렇기 때문에 위 명령어를 통해 인코딩을 euc-kr로 꼭 설정해주세요.
SELECT 같은 결괏값을 반환해주는 명령어를 수행 후 저장한 값을 읽어보시면 한글이 깨지는 현상이 있습니다.
그렇기 때문에 위 명령어를 통해 인코딩을 euc-kr로 꼭 설정해주세요.
예제
DB를 이용한 로그인 폼 만들기
#include mysql.ahk
Gui, Show, x400 y150 w380 h100, Login
Gui, Add, Text, x20 y30 w100 h20, ID
Gui, Add, Edit, x20 y50 w100 h20 vuser
Gui, Add, Text, x150 y30 w100 h20, PW
Gui, Add, Edit, x150 y50 w100 h20 vpw +Password*
Gui, Add, Button, Default x280 y47 h25 w80 glogin, Login
return
login:
Gui, Submit, NoHide
if (user=null){
Msgbox, 아이디를 입력 해주세요!
return
}else if(pw=null){
Msgbox, 비밀번호를 입력 해주세요!
return
}
get_db := dbConnect("111.222.111.222","N4MSB","1234","TEST_DB")
dbQuery(get_db,"set character set euckr")
id_chk := dbQuery(get_db,"SELECT id FROM Member where id='" user "';")
if (id_chk = null){
Msgbox, "존재하지 않는 아이디입니다."
return
}else{
pw_chk := dbQuery(get_db,"SELECT pwd FROM Member where id='" user "';")
if (pw = pw_chk ){
Msgbox, 로그인 성공!
return
}else{
Msgbox, 비밀번호를 틀림!
return
}
}
return
반응형