Visual Basic

[Visual Basic] ADO란

완드로이드 2024. 5. 9. 21:45

● ADO : DB에 접속하고, 데이터를 조작하기위한 MS기술

 

Private Sub insert_Click()

Dim CN      As ADODB.Connection
Dim SQL     As String
Dim sprovider    As String


sprovider = "Provider=SQLOLEDB; Data Source= DB 서버주소; Initial Catalog = DB명; User Id=사용자ID;pwd=PW"

Set CN = New ADODB.Connection

CN.ConnectionString = sprovider
CN.CursorLocation = adUseClient
CN.ConnectionTimeout = 0
CN.Open

CN.BeginTrans

SQL = "INSERT INTO VA_BANK(BANK_CD,BANK_NM) values(' "&bankCd.Text &"', ' "& bankNm.Text &"')"
CN.Execute SQL

CN.CommitTrans
'''    CN.RollbackTrans


Set CN = Nothing
End Sub

 

기본적인 insert문 기능을 하는 버튼을 만들어 보았다. ADODB.Connection 인스턴스를 생성하여 .open 함수를 사용하여 DB와 연결 후 텍스트박스에서 입력 받은값을 각각 쿼리문을 통해VA_BANK(BANK_CD, BANK_NM) // 테이블(컬럼1, 컬럼2), 형식으로 값을 대입해준다

Dim conn As New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=서버명;Initial Catalog=데이터베이스명;User Id=사용자명;Password=비밀번호;"
conn.Open

 

.ConnectionString : 데이터베이스에 연결하기 위해 필요한 정보를 제공하는 문자열

 ex) 데이터베이스의 위치(DB서버 IP), 데이터베이스 유형, 데이터베이스를 접속하기 위한 사용자 이름과 비밀번호

 

.open : DB와 연결

 

Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM 테이블명", conn
Do Until rs.EOF
    MsgBox rs.Fields("필드명").Value
    rs.MoveNext
Loop
rs.Close

 

.Recodeset : 데이터베이스에서 검색한 데이터를 저장하고 관리하는 데 사용됩니다. 이 객체를 사용하여 데이터를 읽고, 수정하며, 데이터베이스로부터 새로운 데이터를 삽입하거나 기존 데이터를 삭제할 수 있습니다.

 

 

Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM 테이블명", 연결객체

' 데이터 순회 시작
Do Until rs.EOF ' .EOF가 True가 될 때까지 반복
    ' 필드 데이터 처리
    Debug.Print rs.Fields("필드명").Value
    rs.MoveNext ' 다음 레코드로 이동
Loop

rs.Close ' Recordset 닫기

 

위의 예시에서 Do Until rs.EOF 루프는 Recordset의 각 레코드를 순회하며, .EOFTrue가 될 때까지, 즉 더 이상 읽을 데이터가 없을 때까지 계속됩니다. .MoveNext 메소드는 Recordset 내에서 다음 레코드로 이동하라는 명령입니다. 만약 .EOFTrue가 되면, 루프는 종료됩니다.

 

.EOF : 이 속성은 Recordset 개체에서 데이터를 순회할 때 현재 위치가 데이터 집합의 끝에 도달했는지 여부를 나타냅니다. 즉, 더 이상 읽을 데이터가 없을 때 .EOF 속성은 True가 됩니다.

 

.Execute : SQL 쿼리나 저장된 프로시저를 실행하는 데 사용