ASP.NET은 데이터베이스 생성, SQL 구문 작동 및 데이터 가져 오기 및 내보내기를 실현하여 웹 모드에서 데이터를 유지하고 관리하는 데 사용됩니다. Foxin Technology Channel의 편집자가 온라인 데이터베이스 관리 단계에 대해 배우기 위해 다음 기사로 안내하십시오!
클래스 rlmandbcls
Private SDBPATH, RLCONN, SDBTYPE, SSERVERNAME, SUSERNAME, SPASSWORD
공개 수
private sub class_initialize ()
sdbtype = ""
종료 서브
private sub class_terminate ()
iSobject (rlconn)라면
rlconn.close
rlconn = 아무것도 설정하십시오
끝 If
종료 서브
공공 재산 DBType (Byval Strvar)
sdbtype = strvar
종료 속성
공공 속성은 ServerName (Byval Strvar)을 놔두겠습니다.
sservername = strvar
종료 속성
공공 부동산 het username (byval strvar)
Susername = strvar
종료 속성
공공 재산하자 암호 (byval strvar)
spassword = strvar
종료 속성
'데이터베이스 경로를 설정하십시오
공공 재산 DBPATH (Byval Strvar)
sdbpath = strvar
사례 sdbtype를 선택하십시오
"SQL"사례
strserver = sservername '데이터베이스 서버 이름입니다
struid = susername '로그인 계정
strsapwd = spassword '로그인 비밀번호
strdbname = sdbpath '데이터베이스 이름입니다
sdbpath = "driver = {sql server}; server ="& strserver & "; uid ="& struid & "; pwd ="& strsapwd & "; database ="& strdbname
"Access", ",", "
sdbpath = "제공자 = microsoft.jet.oledb.4.0; data source ="& server.mappath (sdbpath)
종료 선택
CheckData rlconn, sdbpath
종료 속성
'데이터베이스 링크 확인 (변수 이름, 연결 문자열)
Private Sub CheckData (DataConn, Connstr)
다음에 오류가 재개됩니다
set dataConn = server.createObject ( "adodb.connection")
DataConn. Open Connstr
그렇다면
err.clear
DataConn = 아무것도 설정하지 않습니다
errmsg ( "데이터베이스 연결 오류 :"& rown (connstr (connstr, "/", "//") & ",/nplease 연결 문자열을 확인하여 입력 한 데이터베이스 정보가 올바른지 확인하십시오.")
응답. 엔드
끝 If
종료 서브
'테이블이 존재하는지 확인하십시오
함수 checktable (tablemename)
다음에 오류가 재개됩니다
rlconn.execute ( "select * from"& tablename)
err.number <> 0 인 경우
err.clear ()
Call Errmsg ( "오류 프롬프트 :"& err.description)
CheckTable = false
또 다른
CheckTable = true
끝 If
엔드 기능
'오류 메시지 (메시지)
개인 하위 ERRMSG (MSG)
응답
응답. 플러시
종료 서브
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'필드의 값을 수정하십시오
Public Sub Upcolumn (Byval TableName, ByVal ColumnName, ByVal Valuetext, Byval Wherestrest)
다음에 오류가 재개됩니다
wherestrest <> ""라면
악기 (wherest, "where") <= 0이면
wherest = "여기서"& wherest
끝 If
또 다른
wherest = ""
끝 If
rlconn.execute ( "업데이트"& tablename & "set"& columnname & "="& valuetext & ""& wherestrest)
err.number <> 0 인 경우
Call Errmsg ( "오류 프롬프트 :"& err.description)
err.clear ()
끝 If
종료 서브
'SQL 문을 실행하십시오
공개 하위 execute (strsql)
rscount = server.createobject를 설정합니다 ( "adodb.recordset")
다음에 오류가 재개됩니다
rscount = rlconn.execute (strsql)
왼쪽 (strsql, 12) = "count"다음 count = rscount (0)
err.number <> 0 인 경우
Call Errmsg ( "오류 프롬프트 :"& err.description)
err.clear ()
끝 If
rscount.close
RSCount = 아무것도 설정하지 않습니다
종료 서브
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'필드 인덱스 추가
public function addIndex (byval tablename, byval indexname, byval valuetext)
다음에 오류가 재개됩니다
rlconn.execute ([ "index"& indexname & "on ["& tablename & "] (["& valuetext & "]"))
err.number <> 0 인 경우
Call Errmsg ( "작성"& tablename & "tablename &"tablename & "Indexname &"Indexname & "Cause"& err.description & "수동으로 인덱스를 수정하십시오.")
err.clear ()
addIndex = false
또 다른
addIndex = true
끝 If
엔드 기능
'테이블 인덱스를 삭제하십시오
public function delindex (byval tablename, byval indexame)
다음에 오류가 재개됩니다
rlconn.execute ( "Drop Space Index ["& tablename & "]."& indexname)
err.number <> 0 인 경우
Call Errmsg ( "in"& tablename & "tabledelete"& indexname & "index error, again"& err.description & "인덱스를 수동으로 삭제하십시오").
err.clear ()
delindex = false
또 다른
delindex = true
끝 If
엔드 기능
'테이블 테이블 이름의 정의를 변경하여 필드 열 이름을 기본 키로 설정합니다.
공개 기능 AddPrimarykey (Byval Tablemename, ByVal ColumnName)
다음에 오류가 재개됩니다
tableName = replace (대체 (TableName, "[", ""), "]" "," ")
rlconn.execute ( "Alter Table"& TableName & "Add Add Add Add Pk _"& TableName & "기본 키 ("& columnName & ")")
err.number <> 0 인 경우
ERRMSG ( "& tableName &"field "를 추가 할 때의"오류 "& columnName &"기본 키로, 이유 "& err.Description &"필드 속성을 수동으로 수정하십시오. ")
err.clear ()
addPrimaryKey = false
또 다른
addPrimaryKey = true
끝 If
엔드 기능
'테이블 테이블 이름의 정의 변경을 위해 필드 열 이름 기본 키의 정의를 삭제합니다.
public function delprimarykey (byval tablename, byval columnname)
다음에 오류가 재개됩니다
rlconn.execute ( "Alter Table"& TableName & "Drop Space Primary Key ("& ColumnName & ")")
err.number <> 0 인 경우
Call Errmsg ( "필드 ut weect"& columnname & "에 따라 기본 키"& tablemename & ""의 정의를 삭제하는 동안 오류가 발생했습니다.
err.clear ()
delprimarykey = false
또 다른
delprimarykey = true
끝 If
엔드 기능
'기본 키가 존재하는지 확인하고 테이블의 기본 키 이름을 반환합니다.
함수 getPrimaryKey (tableName)
다음에 오류가 재개됩니다
희미한 rsprimary
getPrimaryKey = ""
rsprimary = rlconn.openschema set set
rsprimary.eof가 아닌 경우 getPrimarykey = rsprimary ( "column_name")
rsprimary = 아무것도 설정하십시오
err.number <> 0 인 경우
Call ERRMSG ( "데이터베이스는 데이터 테이블 감지를위한 기본 키를 지원하지 않습니다"및 TableName & ". 이유 :"& err.description)
err.clear ()
끝 If
엔드 기능
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'새 필드를 추가하십시오
Public Function AddColumn (TableName, ColumnName, ColumnType)
다음에 오류가 재개됩니다
rlconn.execute ( "Alter Table ["& TableName & "] 추가 ["& columnName & "]"& columnType & "")
그렇다면
errmsg ( "new"& tablename & "필드 오류 테이블의 오류는 데이터베이스에서 "& columnname & " 필드를 수동으로 작성하십시오.
err.clear
AddColumn = false
또 다른
AddColumn = true
끝 If
엔드 기능
'필드 제네릭 기능을 변경하십시오
Public Function Modcolumn (Tablemename, ColumnName, ColumnType)
다음에 오류가 재개됩니다
rlconn.execute ( "Alter Table ["& TableName & "] Alter Column ["& ColumnName & "]"& ColumnType & "")
그렇다면
CALL ERRMSG ( "Change"& TableName & "테이블의 필드 속성이 올바르지 않으면 데이터베이스를 수동으로 변경하십시오 "& columnName & " Field "& ColumnType & " 속성, 원인"& err.description).
err.clear
modcolumn = false
또 다른
modcolumn = true
끝 If
엔드 기능
'필드 제네릭 기능을 삭제합니다
Public Function Delcolumn (TableName, ColumnName)
다음에 오류가 재개됩니다
sdbtype = "sql"인 경우
rlconn.execute ( "Alter Table ["& TableName & "] DROP SPACE 열 ["& ColumnName & "]")
또 다른
rlconn.execute ( "Alter Table ["& TableName & "] DROP SPACE ["& ColumnName & "]")
끝 If
그렇다면
CALL ERRMSG ( "Delete"& TableName & "필드 오류 테이블에서 수동으로 삭제하십시오 "& columnName & " Field Delete, Caine"& err.description)
err.clear
delcolumn = false
또 다른
delcolumn = true
끝 If
엔드 기능
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'테이블 이름 객체를여십시오
Private Sub RenametableConn ()
다음에 오류가 재개됩니다
set objadoxdatabase = server.createobject ( "adox.catalog")
objadoxdatabase.activeconnection = connstr
그렇다면
ERRMSG ( "변경 테이블 이름 객체를 만들 때 오류가 발생했습니다. 업그레이드하는 공간은이 객체를 지원하지 않습니다. 테이블 이름을 수동으로 변경해야 할 가능성이 높습니다. 이유"& err.description).
응답. 엔드
err.clear
끝 If
종료 서브
'테이블 이름 객체를 닫습니다
개인 서브 CloseRenametableConn ()
objadoxdatabase = 아무것도 설정하지 않습니다
conn.close
Conn = 아무것도 설정하지 않습니다
종료 서브
'데이터베이스 테이블 이름 변경, 항목 매개 변수 : 이전 테이블 이름, 새 테이블 이름
공개 기능 Renametable (OldName, NewName)
다음에 오류가 재개됩니다
RenametableConn에 전화하십시오
objadoxdatabase.tables (OldName) .name = newName입니다
그렇다면
Call Errmsg ( "테이블 이름 오류 변경, 데이터베이스에서 테이블 이름을 수동으로 변경하십시오 ."& OldName & " 테이블 이름으로 <b>"& newName & ", 이유"& err.description)
err.clear
renametable = false
또 다른
renametable = true
끝 If
CloseRenametableConn으로 전화하십시오
엔드 기능
'테이블 일반 기능 삭제
공개 기능 삭제 가능 (TableName)
다음에 오류가 재개됩니다
rlconn.execute ( "드롭 스페이스 테이블 ["& tablename & "]")
그렇다면
errmsg ( "delete"& tablename & "테이블 오류 오류, 데이터베이스에서 "& tablemename & " 테이블, 이유"& err.description)를 수동으로 삭제하십시오)
err.clear
삭제 가능한 = 거짓
또 다른
삭제 가능한 = true
끝 If
엔드 기능
'새 테이블을 만듭니다
public function createTable (byval tablename, byval fieldlist)
Dim Strsql
sdbtype = "sql"인 경우
strsql = "생성 테이블 ["& tablename & "] ("& fieldlist & ")" "
또 다른
strsql = "생성 테이블 ["& tablename & "]" "
끝 If
rlconn.execute (strsql)
err.number <> 0 인 경우
Call Errmsg ( "new"& tablename & "테이블 오류, 원인"& err.description & "").
err.clear ()
createTable = false
또 다른
createTable = true
끝 If
엔드 기능
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'데이터베이스 파일을 만듭니다
public function breadbfile (byval dbfilename, byval savepath)
다음에 오류가 재개됩니다
savepath = replace (savepath, "/", "/")
오른쪽 (SavePath, 1) <> "/"또는 오른쪽 (SavePath, 1) <> "/"SavePath = Trim (SavePath) & "/"
왼쪽 (dbfilename, 1) = "/"또는 왼쪽 (dbfilename, 1) = "/"그런 다음 dbfilename = trim (mid (dbfilename, 2, len (dbfilename))).
dbexists (apppath () & savepath & dbfilename) 인 경우
errmsg ( "죄송합니다,이 데이터베이스는 이미 존재합니다!"& apppath () & savepath & dbfilename)
createdbfile = false
또 다른
응답. AppPath () 및 SavePath & DBFilename
Dim CA
ca = server.createobject ( "adox.catalog")
err.number <> 0 인 경우
errmsg ( "설정할 수 없으므로 오류 메시지를 확인하십시오
"& err.number &"
"& err.description)
err.clear
createdbfile = false
종료 기능
끝 If
ca.create ( "제공자 = microsoft.jet.oledb.4.0; data source ="& apppath () & savepath & dbfilename) 전화하십시오.
CA = 아무것도 설정하지 않습니다
createdbfile = true
끝 If
엔드 기능
'데이터베이스 파일이 존재하는지 여부를 찾으십시오
개인 기능 dbexists (byval dbpath)
다음에 오류가 재개됩니다
어둑한
set c = server.createobject ( "adodb.connection")
C.open "제공자 = microsoft.jet.oledb.4.0; data source ="& dbpath
err.number <> 0 인 경우
err.clear
dbexists = false
또 다른
dbexists = true
끝 If
c = 아무것도 설정하지 않습니다
엔드 기능
'현재 진짜 길을 가져 가라
개인 기능 apppath ()
AppPath = server.mappath ( "./")
오른쪽 (AppPath, 1) = "/"라면
AppPath = AppPath
또 다른
AppPath = AppPath & "/"
끝 If
엔드 기능
'데이터베이스 파일 삭제
공개 기능 deletedbfile (filespec)
filespec = apppath () & filespec
희미한 fso
set fso = createobject ( "scripting.filesystemobject")
err.number <> 0 인 경우
errmsg ( "파일을 삭제할 때 오류가 발생했습니다! 오류 메시지를 확인하십시오 :"& err.number & ""& err.description & "
")
err.clear
deletedbfile = false
끝 If
dbexists (filespec)라면
전화 fso.deletefile (filespec)
deletedbfile = true
또 다른
errmsg ( "파일을 삭제할 때 오류가 발생했습니다! 오류 메시지를보십시오 :"& err.number & ""& err.description & "
")
deletedbfile = false
종료 기능
끝 If
FSO = 아무것도 설정하지 않습니다
엔드 기능
'데이터베이스 이름을 수정하십시오
공개 기능 renamedbfile (filespec1, filespec2)
filesc1 = apppath () & filespec1 : filesc2 = apppath () & filespec2
희미한 fso
set fso = createobject ( "scripting.filesystemobject")
err.number <> 0 인 경우
errmsg ( "파일 이름을 수정하는 동안 오류가 발생했습니다! 오류 메시지를 확인하십시오 :"& err.number & ""& err.description)
err.clear
RenamedBfile = false
끝 If
dbexists (filespec1) 인 경우
fso.copyfile 전화 (filespec1, filespec2, true)
전화 fso.deletefile (filespec1)
RenaMiledBfile = true
또 다른
errmsg ( "소스 파일이 존재하지 않습니다 !!!")
RenamedBfile = false
종료 기능
끝 If
FSO = 아무것도 설정하지 않습니다
엔드 기능
'압축 데이터베이스
공개 기능 compactdbfile (strdbfilename)
Dim Jet_conn_partial
Dim SourceCeNon
Dim Destconn
희미한 ojetengine
희미한
Jet_conn_Partial = "제공자 = microsoft.jet.oledb.4.0; data source ="
sourceconn = jet_conn_partial & apppath () & strdbfilename
destconn = jet_conn_partial & apppath () & "temp"& strdbfilename
set ofso = server.createobject ( "scripting.filesystemobject")
set ojetengine = server.createobject ( "jro.jetengine")
OFSO
.fileExists (apppath () & strdbfilename)이 아닙니다
errmsg ( "데이터베이스 파일 찾기 없음 !!!")
멈추다
compactdbfile = false
종료 기능
또 다른
.fileExists (apppath () & "temp"& strdbfilename)
errmsg ( "알 수없는 오류 !!!")
.deletefile (AppPath () & "temp"& strdbfilename)
compactdbfile = false
종료 기능
끝 If
끝 If
끝납니다
Ojetengine과 함께
.compactdatabase sourceconn, destconn
끝납니다
ofso.deletefile apppath () & strdbfilename
ofso.movefile apppath () & "temp"& strdbfilename, apppath () & strdbfilename
SET OFSO = 아무것도
ojetengine = nothing을 설정하십시오
compactdbfile = true
엔드 기능
수업 종료
Dim MandB
MENDB = NEW RLMANDBCLS를 설정합니다
'//---------------------------------------------------------------------------------------------------------------------------
'medb.dbtype = "sql"
'mandb.servername = "tao-kuizu"
'mandb.username = "sa"
'medb.password = "123456"
'mandb.dbpath = "hhstuss"
'mandb.createtable "cexo255", "id int null dismant key, not varchar (20) not null"'생성 테이블 (테이블 이름)
'mandb.renametable "cexo255", "cexo2552"'테이블 이름 (오래된 테이블 이름, 새 테이블 이름) (구성 요소 사용)
'mandb.deltable "cexo255"'테이블 삭제 (테이블 이름)
'mandb.addcolumn "cexo255", "sex", "varchar (2) null"'테이블 구조 만들기 (테이블 이름, 필드 이름, 데이터 유형)
'mandb.modcolumn "cexo255", "name", "int not null"'테이블 구조 수정 (테이블 이름, 필드 이름, 새 데이터 유형) _
'mandb.delcolumn "cexo255", "sex"'테이블 구조 삭제 (테이블 이름, 필드 이름)
'mandb.addindex "cexo255", "i_id", "id"'테이블 색인 생성 (테이블 이름, 색인 이름, 색인 필드 이름)
'mandb.delindex "cexo255", "i_id"'테이블 인덱스 삭제 (테이블 이름, 색인 이름)
'mandb.addprimarykey "cexo255", "name"'테이블 기본 키 생성 (테이블 이름, 기본 키 필드 이름)
'mandb.delprimarykey "cexo255", "name"'테이블 기본 키 삭제 (테이블 이름, 기본 키 필드 이름) _
'응답. write mandb.getPrimaryKey ( "cexo255")'테이블의 기본 키를 얻으십시오 (테이블 이름)
'mandb.upcolumn "cexo255", "id", 12345, "name = 1"'필드 값을 수정
'mandb.execute "공간을 cexo255 (id, name) 값 (2,2)에 삽입"'레코드를 추가하십시오
'mandb.execute "업데이트 cexo255 set id = 3 여기서 name = 2"'레코드 수정
'mandb.execute "cexo255에서 공간 삭제 then name = 2"'레코드 삭제
'mandb.execute ( "cexo255에서 count (*) select count (*)") : response.write mandb.count'통계 번호 레코드 수
'medb.checktable ( "StudInfo")이면 response.write "StudInfo 테이블이 존재합니다 !!!" else response.write "StudInfo 테이블이 존재하지 않습니다 !!!"
'//---------------------------------------------------------------------------------------------------------------------------
'//---------------------------------------------------------------------------------------------------------------------------
medb.dbtype = "Access"
medb.dbpath = "test.mdb"
'mandb.createdbfile "test2.mdb", ""'데이터베이스 이름, 저장 경로)
'medb.deletedbfile ( "test2.mdb")'데이터베이스 삭제 (데이터베이스 이름)
'mandb.renamedbfile "test2.mdb", "test3.mdb"'도메인 이름 (오래된 데이터베이스 이름, 새 데이터베이스 이름)
'medb.compactdbfile ( "test3.mdb")'압축 데이터베이스 (데이터베이스 이름)
'mandb.createtable "dw", ""' '테이블 만들기 (테이블 이름)
'mandb.renametable "dw", "dw2"'테이블 이름 (오래된 테이블 이름, 새 테이블 이름) (구성 요소 사용) _
'mandb.deltable "dw"'삭제 테이블 (테이블 이름)
'mandb.addcolumn "cexo255", "name", "varchar (255) not null"'테이블 구조 만들기 (테이블 이름, 필드 이름, 데이터 유형)
'mandb.modcolumn "cexo255", "name", "int not null"'테이블 구조 수정 (테이블 이름, 필드 이름, 새 데이터 유형)
'mandb.delcolumn "cexo255", "name"'테이블 구조 삭제 (테이블 이름, 필드 이름)
'mandb.addindex "cexo255", "userId", "id"'테이블 색인 생성 (테이블 이름, 색인 이름, 색인 필드 이름)
'mandb.delindex "cexo255", "userId"'테이블 인덱스 삭제 (테이블 이름, 색인 이름) _
'mandb.addprimarykey "cexo255", "id"'테이블 기본 키 만들기 (테이블 이름, 기본 키 필드 이름)
'mandb.delprimarykey "cexo255", "id"' '테이블 기본 키 삭제 (테이블 이름, 기본 키 필드 이름) _
'응답. write mandb.getPrimaryKey ( "cexo255")'테이블의 기본 키를 얻으십시오 (테이블 이름)
'mandb.upcolumn "cexo255", "id", "12345", "id ='12 '"'현장의 가치 수정
'mandb.execute "공간을 cexo255 (id) 값 ('789 ')에 삽입하십시오.' '레코드 추가
'mandb.execute "업데이트 cexo255 set id ='wxf '여기서 id ='789 '"'레코드 수정
'mandb.execute "cexo255에서 공간 삭제 여기서 id ='wxf '"'레코드 삭제
mandb.execute ( "cexo255에서 count (*) select count (*)") : response.write mandb.count '통계 수
'medb.checktable ( "StudInfo")이면 response.write "StudInfo 테이블이 존재합니다 !!!" else response.write "StudInfo 테이블이 존재하지 않습니다 !!!"
'//---------------------------------------------------------------------------------------------------------------------------
mandb = 아무것도 설정하지 않습니다
%>
위는 온라인 데이터베이스 관리 단계에 대한 소개입니다. 나는 모든 사람이 특정한 이해를 가지고 있다고 생각합니다. 더 많은 기술 정보를 알고 싶다면 잘못된 새로운 기술 채널에 계속주의를 기울이십시오!