● 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의 각 레코드를 순회하며, .EOF가 True가 될 때까지, 즉 더 이상 읽을 데이터가 없을 때까지 계속됩니다. .MoveNext 메소드는 Recordset 내에서 다음 레코드로 이동하라는 명령입니다. 만약 .EOF가 True가 되면, 루프는 종료됩니다.
● .EOF : 이 속성은 Recordset 개체에서 데이터를 순회할 때 현재 위치가 데이터 집합의 끝에 도달했는지 여부를 나타냅니다. 즉, 더 이상 읽을 데이터가 없을 때 .EOF 속성은 True가 됩니다.
● .Execute : SQL 쿼리나 저장된 프로시저를 실행하는 데 사용


