数据|数据库|数据库结构
作者:tonny
转载请显示出处:http://www.weiw.com
数据库结构操作。适应于access,sql server等常见的数据库。
1。建立连接。
可以通过ODBC或OLEDB连接。
Set gObjDC = Server.CreateObject("ADODB.Connection")
dim strconn,myDSN
myDSN="test"
strconn="DSN="&myDSN&";uid=sa;pwd="
'strconn ="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=MeiSha;Data Source=tonny"
gObjDC.ConnectionString=strconn
gObjDC.Open
2。显示所有表
set gObjRS = gObjDC.OpenSchema(adSchemaTables)
Do While Not gObjRS.EOF
If gObjRS.Fields("TABLE_TYPE") = "TABLE" AND Left(gObjRS.Fields("TABLE_NAME"), 4) <> "MSys" Then
'不必把系统表显示出来
Response.Write "<TR>"
Response.Write "<TD>" & gObjRS.Fields("TABLE_NAME") & "</TD>"
myPLink = "?DSN_NAME=" & myDSN & "&Table_Name=" & gObjRS.Fields("TABLE_NAME")
Response.Write "<TD> <A HREF=tablestruct.asp" & myPLink & ">Structure</A> </TD>"
Response.Write "<TD> <A HREF=tablecontent.asp" & myPLink & ">Content</A> </TD>"
Response.Write "</TR>" & vbCrLf
End If
gObjRS.MoveNext
Loop
gObjRS.Close
3。新建表
<FORM METHOD=POST ACTION="definetable.asp?DSN_Name=<% =myDSN %>">
Table Name :<BR>
<INPUT TYPE="text" NAME="Table_Name"><BR>
Field Count :<BR>
<INPUT TYPE="text" NAME="Field_Count"><BR>
<BR>
<INPUT TYPE="submit" VALUE="Create">
</FORM>
definetable.asp中主要源码
myFieldCount = Request.Form("Field_Count")
<FORM METHOD=POST ACTION="createtable.asp?DSN_Name=<% =Request.Form("DSN_Name") %>&Table_Name=<% =Request.Form("Table_Name") %>&Field_Count=<%=myFieldCount %>" ID="Form1">
<TABLE ID="Table2">
<TR>
<TD>Name</TD>
<TD>Type</TD>
<TD>Length</TD>
<TD>Null</TD>
<TD>Primary Key</TD>
<TD>Unique Index</TD>
</TR>
<% For i=1 to myFieldCount%>
<TR>
<TD><INPUT TYPE="text" NAME=<% ="FieldName_" & i %> ></TD>
<TD><SELECT SIZE=1 NAME=<% ="FieldType_" & i %> >
<!-请注意:此处根据不同数据库填写字段类型->
<OPTION>BINARY
<OPTION>BIT
<OPTION>BYTE
<OPTION>COUNTER
<OPTION>CURRENCY
<OPTION>DATETIME
<OPTION>SINGLE
<OPTION>DOUBLE
<OPTION>SHORT
<OPTION>LONG
<OPTION>LONGTEXT
<OPTION>LONGBINARY
<OPTION>TEXT
</SELECT>
</TD>
<TD><INPUT TYPE="text" SIZE=5 NAME=<% ="FieldLength_" & i %> ID="Text2"></TD>
<TD>
<SELECT SIZE=1 NAME=<% ="FieldNull_" & i %> ID="Select2">
<OPTION>not null
<OPTION>null
</SELECT>
</TD>
<TD><INPUT TYPE="checkbox" NAME=<% ="FieldPrimary_" & i %> ID="Checkbox1"></TD>
<TD><INPUT TYPE="checkbox" NAME=<% ="FieldUnique_" & i %> ID="Checkbox2"></TD>
</TR>
<%Next%>
</TABLE>
<INPUT TYPE="reset" VALUE="Clear" ID="Reset1" NAME="Reset1"> <INPUT TYPE="submit" VALUE="Create" ID="Submit1" NAME="Submit1">
</FORM>
createtable.asp中主要源码
myPrimary = ""
mySQLQueryString = "CREATE TABLE " & myTable &" ("
myFieldCount = CInt(Request.QueryString("Field_Count"))
For i = 1 to myFieldCount
myFieldName = Request.Form("FieldName_"&i)
mySQLQueryString = mySQLQueryString & Chr(34) & _
myFieldName & Chr(34) & " " &_
Request.Form("FieldType_"&i)
myLength = Request.Form("FieldLength_"&i)
If isNumeric(myLength) Then
mySQLQueryString = mySQLQueryString & " (" & myLength & ") "
E