일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- WIN32 SDK
- SDK
- 시리얼 통신
- winsock
- 문자열
- 입문
- Visual Basic
- 인스톨
- Visual Studio 2005
- SQL
- 셋업
- c#
- 초보
- MFC
- 파이어버드
- 데이터베이스
- vb
- VB.NET
- 델파이
- 설치
- 예제
- xml
- 파라미터
- 소니
- MySQL
- Delphi
- PostgreSQL
- Firebird
- 기초
- dll
- Today
- Total
프로그래밍 노트
비주얼베이직에서 MySQL쓰기 초간단 예제 본문
비주얼베이직에서 MySQL쓰기 초간단 예제
이 소스를 돌리기위해서는 사전에 DSN을 설정해야된다.
DSN설정은 밑의 링크를 참조할 것
http://wwwi.tistory.com/74 MySQL ODBC설정하기
ADO를 쓰기위해서는 프로젝트에서 참조추가를 선택하여 COM 탭에서
Microsoft ActiveX Data Object 2.8 Library를 더블클릭으로 선택해야 된다.
밑의 소스는 테이블을 추가하고 데이터 추가 삭제 변경에 대한 예제이다.
Dim AdoCn As ADODB.Connection
Dim AdoRs As ADODB.Recordset
Dim fldWork As ADODB.Field
Dim sSql As String
Dim sWork As String
' MySQL에 접속 [MySQL ODBC 3.51 Driver]
AdoCn = New ADODB.Connection
AdoCn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER = localhost;" _
& "DATABASE = memo;" _
& "UID = muser; PWD = pass; OPTION = 3"
' Database open
AdoCn.Open()
' 테이블 만들기
sSql = "create table tmemo ( "
sSql = sSql & " memoID int8, "
sSql = sSql & " fuser char(20), "
sSql = sSql & " fmemo char(255) "
sSql = sSql & " ) type = InnoDB; "
AdoCn.Execute(sSql)
' 데이터 추가
sSql = "INSERT INTO tmemo(memoID, fuser, fmemo) values(1,'김기사','5시까지와~')"
AdoCn.Execute(sSql)
sSql = "INSERT INTO tmemo(memoID, fuser, fmemo) values(2,'이사감','나 낙하산')"
AdoCn.Execute(sSql)
sSql = "INSERT INTO tmemo(memoID, fuser, fmemo) values(3,'박장난','말장난하냐')"
AdoCn.Execute(sSql)
AdoRs = New ADODB.Recordset
AdoRs.CursorLocation = ADODB.CursorLocationEnum.adUseServer
' 레코드셋 설정
AdoRs.Open("SELECT * FROM tmemo", AdoCn)
Debug.Print("tmemo 테이블의 레코드수 :" & AdoRs.RecordCount)
AdoRs.MoveFirst()
sWork = ""
' tmemo 테이블의 필드명 출력
For Each fldWork In AdoRs.Fields
sWork = sWork & fldWork.Name & vbTab
Next
Debug.Print(sWork)
' tmemo 테이블의 필드 데이터 출력
Do Until AdoRs.EOF
sWork = ""
For Each fldWork In AdoRs.Fields
sWork = sWork & fldWork.Value & vbTab
Next
Debug.Print(sWork)
AdoRs.MoveNext()
Loop
AdoRs.Close()
' 레코드셋 설정
AdoRs.Open("select * from tmemo", AdoCn, _
ADODB.CursorTypeEnum.adOpenDynamic, _
ADODB.LockTypeEnum.adLockOptimistic)
' 데이터 추가
AdoRs.AddNew()
AdoRs.Fields(0).Value = 4
AdoRs.Fields(1).Value = "최저가"
AdoRs.Fields(2).Value = "어디가 제일싸?"
AdoRs.Update()
AdoRs.AddNew()
AdoRs.Fields(0).Value = 5
AdoRs.Fields(1).Value = "지천명"
AdoRs.Fields(2).Value = "일신우일신"
AdoRs.Update()
AdoRs.Close()
' 레코드셋 설정
AdoRs.Open("select * from tmemo where memoID = 3", AdoCn, _
ADODB.CursorTypeEnum.adOpenDynamic, _
ADODB.LockTypeEnum.adLockOptimistic)
' 데이터 변경
AdoRs.Fields(1).Value = "박농담"
AdoRs.Fields(2).Value = "농담만하니?"
AdoRs.Update()
AdoRs.Close()
' 레코드셋 설정
AdoRs.Open("select * from tmemo where memoID = 5", AdoCn, _
ADODB.CursorTypeEnum.adOpenDynamic, _
ADODB.LockTypeEnum.adLockOptimistic)
' 데이터 삭제
AdoRs.Delete()
AdoRs.Close()
' 레코드셋 설정
AdoRs.Open("SELECT * FROM tmemo", AdoCn)
Debug.Print("tmemo 테이블의 레코드수 :" & AdoRs.RecordCount)
AdoRs.MoveFirst()
sWork = ""
' tmemo 테이블의 필드명 출력
For Each fldWork In AdoRs.Fields
sWork = sWork & fldWork.Name & vbTab
Next
Debug.Print(sWork)
' tmemo 테이블의 필드 데이터 출력
Do Until AdoRs.EOF
sWork = ""
For Each fldWork In AdoRs.Fields
sWork = sWork & fldWork.Value & vbTab
Next
Debug.Print(sWork)
AdoRs.MoveNext()
Loop
AdoRs.Close()
AdoCn.Close()
End Sub
프로그램을 돌리면 아래와 같은 결과가 나온다.
레코드수를 제대로 못가져온다. -.-;; 왜그런거지?
memoID fuser fmemo
1 김기사 5시까지와~
2 이사감 나 낙하산
3 박장난 말장난하냐
tmemo 테이블의 레코드수 :-1
memoID fuser fmemo
1 김기사 5시까지와~
2 이사감 나 낙하산
3 박농담 농담만하니?
4 최저가 어디가 제일싸?