이 방법을 사용하면 ACCESS 데이터의 테이블 이름, 구조, 데이터 유형 등을 얻을 수 있습니다. 프로그램은 여러 ACCESS 데이터베이스의 여러 숨겨진 테이블을 필터링합니다(이것이 데이터를 삭제한 후 ACCESS 데이터베이스가 더 커지는 이유일 수 있음).
<html>
<머리>
<title>액세스 데이터베이스 테이블 이름 가져오기_www.vevb.com</title>
</head>
<body style=text-align:left;margin-left:50px;font-family:'arial';font-size:12px>
<form style=padding:5px;margin:5px;margin-left:0px name=get action= method=post>
데이터베이스 경로:<입력 유형=텍스트 이름=경로 값=크기=50 />
<입력 유형=숨겨진 이름=ari 값=1 />
<입력 유형=제출 값=보기/>
</form>
<시간>
<%
request.form(ari)=1이고 request.form(path)<>인 경우
희미한 conn,connstr,i,sql,rs
오류 발생 시 다음 재개
Connstr=DRIVER=Microsoft Access Driver(*.mdb);DBQ=+server.mappath(request.form(경로))
Conn=Server.CreateObject(ADODB.Connection)로 설정합니다.
연결.연결 열기
오류가 발생한 경우
오류가 발생했습니다.지우기
SetConn=아무것도 없음
Response.Write 데이터베이스 연결 오류입니다. 연결 문자열을 확인하세요.
응답.종료
종료 조건
%>
<font color=red><%=conn.connectionstring%></font><hr>
<%
j=0
어두운 테이블 수
테이블 개수=0
shm = conn.OpenSchema(20) 설정
shm.MoveFirst
shm.EOF가 아닌 동안 수행
shm(TABLE_TYPE) = TABLE인 경우
If Left(shm(table_name), 1) <> ~ Then '여기에서 숨겨진 테이블을 필터링합니다.
j=j+1
GetFileds(shm(테이블_이름))을 호출합니다.
종료 조건
종료 조건
shm.이동다음
고리
response.write 총 &j& 개의 데이터 테이블이 있습니다!
또 다른
response.write <h3>특정 콘텐츠를 보려면 데이터베이스의 상대 경로를 입력하세요!</h3>
종료하면
%>
</body>
</html>
<%
함수 GetFileds(테이블 이름)
rs = server.createobject(adodb.recordset) 설정
희미한 SQL
SQL = & TableName에서 * 선택
rs.Open SQL, conn, 1, 1
희미한 연속
계속 = rs.Fields.Count
response.write <div 스타일=margin-bottom:10px;padding:5px;border:1px #dddddd solid;배경:#eeeeee>&vbcrlf
response.write 테이블 <font color=red><b>&TableName&</b></font>에는 다음과 같은 &Cont& 필드가 포함되어 있습니다.<br>&vbcrlf
i = 0에서 Cont - 1로
딤필 유형
사례 선택 rs.fields(i).type
사례 3
filtype=자동번호(번호)
케이스 202
필터 유형=문자
케이스 203
filtype=설명
케이스 125
파일 유형=날짜
사례 11
filtype=true/false(예/아니요)
선택 종료
response.write <font color=red>&i&</font>--<font color=green><b>&rs.fields(i).name&</b></font>--&filtype&;<br />&vbcrlf
다음
응답.쓰기 </div>&vbcrlf
RS.닫기
rs=아무것도 설정하지 않음
기능 종료
%>