메모

vb에서 mysql db 연결...펌

맘편한넘 2010. 11. 15. 17:49

 [VB6] ADO 용 DB 연결 문자열을 좀더 쉽게 생성하는 방법  | Database Programming 2009-02-12 오후 6:38:29
정봉규 (BuSisDol)  정봉규님께 메시지 보내기정봉규님을 내 주소록에 추가합니다.정봉규님의 개인게시판 가기 번호: 3533  / 읽음:2,086

[코멘트] 좋음
2010-05-07 13:13
전경민 (jkm0114)  전경민님께 메시지 보내기전경민님을 내 주소록에 추가합니다.전경민님의 개인게시판 가기 
답변감사합니다. 그런데 지금 외부에 있는 as400 서버의 디비에 접속하는 문제거든요

mysql 같은 경우에는 쉽게 되는데 잘안되네요

프로그램에서 동적으로 ODBC 연결설정을 Registry에 등록해 주는 프로그램 예제입니다.
참고로, Connection String은 아래와 같습니다.
DRIVER={InterSystems ODBC};SERVER=127.0.0.1;PORT=1972;DATABASE=USER;UID=_system;PWD=SYS

Visual Basic에서 mysql 연동, DB작업하기 [VB] Visual Basic

2008/11/24 12:33

 

복사 http://blog.naver.com/yoosy35/110038060910

 

■ mysql에 접속

    - 우선 제어판에서 odbc에 DSN을 추가하고

    - 다음과 같이 간단히 접속한다.

 

Dim sql As String
   
    Set Con = New ADODB.Connection
    Con.Open "test", "issi", "issi" ' Con.Open "DSN이름" , "ID" , "PASS"

    If Con.State = adStateClosed Then
        MsgBox ("DB접속 실패")
    Else
   
        sql = "Select * From member"
        Set Rs = New ADODB.Recordset
        Set Rs = Con.Execute(sql)
   
   
        ' 읽어온 Query 결과의 Data를 이용합니다.
        Do Until Rs.EOF
           MsgBox Rs(0) & Rs(1) & Rs(2) & Rs(3) & Rs(4) & Rs(5)
           Rs.MoveNext
        Loop
        Rs.Close
        Set Rs = Nothing    '  발행된 RecordSet을 닫습니다.
    End If

        sql = "Select * From member"
        Set Rs = New ADODB.Recordset
        Set Rs = Con.Execute(sql)
   
        ' recordset에 명령어중에 유용한것 끝인지 알수 있고 앞으로 가고 뒤로가고 다시 처음으로 가는

        ' movenext, movefirst, movepre......
        ' 읽어온 Query 결과의 Data를 이용합니다.
        Do Until Rs.EOF
           MsgBox Rs(0) & Rs(1) & Rs(2) & Rs(3) & Rs(4) & Rs(5)
           Rs.MoveNext
        Loop

■ DB작업하기(추가, 수정, 제거, 검색)

 

Dim AffectedRecord As Integer
Dim 값1 As Integer 
Dim 값2 As String  

 

Dim insSQL,updateSQL,deleteSQL,deleteSQL As String

가) 추가
insSQL = "INSERT INTO 테이블명(필드1, 필드2) VALUES (" & 값1 & ", '" & 값2 "')"
Conn.Execute insSQL

(주) 여기서 값1은 필드1이 숫자타입으로 (') 기호를 사용하지 않고 값2는 필드2가 문자형이므로 값2 좌우에 (')인용부호를 하였다.

나) 수정
updateSQL = "UPDATE 테이블명 SET 필드2 = '" & 값2 & "' WHERE 필드1 = " & 값1
Conn.Execute insSQL, AffectedRecord
MsgBox AffectedRecord & "개의 레코드가 변경되었습니다.",vbOKOnly, "수정성공"

다) 삭제
deleteSQL = "DELETE FROM 테이블명 SET WHERE 필드1 = " & 값1
Conn.Execute deleteSQL, AffectedRecord
MsgBox AffectedRecord & "개의 레코드가 삭제되었습니다.",vbOKOnly, "삭제성공"

라) 조회
selectSQL = "SELECT * FROM 테이블명 WHERE 필드2 = '" & 값2 & "'"
Set Rs = Conn.Execute(selectSQL)
Conn.Close            '연결닫기(더 이상 작업이 없을 경우 반드시 연결을 끊어야)
Set Conn = Nothing   '개체소멸(메모리에서 개체를 제거합니다.)