| | | | | |
728x90
반응형
Dim userTables As DataTable = Nothing

Dim connection As OleDbConnection


connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.16.0;Data Source=c:\DB.mdb")

Dim restrictions() As String = New String(3) {}
restrictions(3) = "Table"
connection.Open()
' Get list of user tables
userTables = connection.GetSchema("Tables", restrictions)
connection.Close()
' Add list of table names to listBox
Dim i As Integer
For i = 0 To userTables.Rows.Count - 1 Step i + 1
    cbox.items.add(userTables.Rows(i)(2).ToString())
Next

프로그램을 DB와 연동하다 보면 필요한 소스

MDB에서 DB의 이름만을 추출하고 싶을때 사용할 수 있는 코드로~

콤보박스 하나만 두면 콤보 박스에 테이블의 이름들이 GetSchema 를 통해 추출할 수 있다.

 

이를 변형한 코드는 문자열 배열을 통해 이름을 배열로 추출한다.

 

'데이터 테이블 변수 선언
Dim userTables As DataTable = Nothing
'OLEdbConnection 선언
Dim connection As OleDbConnection
'MDB 파일 연결
connection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.16.0;Data Source=c:\DB.mdb")


Dim restrictions() As String = New String(3) {}
restrictions(3) = "Table"

'테이블의 최대 개수 100개로 설정
Dim DB_table_list As String() = New String(100) {}

connection.Open()

' Get list of user tables
userTables = connection.GetSchema("Tables", restrictions)

connection.Close()
' Add list of table names to listBox

Dim i As Integer '반복문 사용 변수
Dim table_count As Integer '테이블의 갯수 세기 변수
table_count = 0


For i = 0 To userTables.Rows.Count - 1 Step i + 1
	table_count = table_count + 1
Next

'테이블 갯수 재설정

ReDim DB_table_list(table_count)


For i = 0 To table_count - 1
	DB_table_list(i) = userTables.Rows(i)(2).ToString()
Next

Label1.Text = table_count & "   "

For i = 0 To table_count - 1
	Label1.Text = Label1.Text + DB_table_list(i) + "    "
Next
728x90
반응형
댓글

현재 wrapper 화면 크기 : 1264*4624