- 浏览: 126894 次
- 性别:
- 来自: 深圳
文章分类
最新评论
修改ACCESS数据库字段属性
<%response.Buffer=true
'未能完成修改数据表字段名称结果
'目前只设计完成了修改数据表字段属性
'设计思路:1添加新列2拷贝Recordset字段内容到新的字段3删除原来字段
'
dim PathName,TableName,RecordName,ColumnName,ColumnType
Dim RsName,RsType,RsNull,RsDefault,RsPrimary
dim strConn,objConn,rsSchema
if request("act")="GetTableList" then
PathName=cstr(trim(request("PathName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
Session("PathName")=PathName
Call FindPathName(PathName)
call GetTableList(PathName,TableString)
Response.Redirect("Admin_DatabaseRecordset.asp?step=1")
response.End()
end if
if request("act")="GetColumnList" then
PathName=cstr(trim(request("PathName")))
TableName=cstr(trim(request("TableName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('数据表名称不能为空!');history.back(1);</script>")
end if
Call FindTableName(PathName,TableName)
Call ShowTableRecordset(PathName,TableName)
Session("TableName")=TableName
Response.Redirect("Admin_DatabaseRecordset.asp?step=2")
response.End()
end if
if request("act")="GetColumnProperty" then
PathName=cstr(trim(request("PathName")))
TableName=cstr(trim(request("TableName")))
ColumnName=cstr(trim(request("ColumnName")))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('数据表名称不能为空!');history.back(1);</script>")
end if
if ColumnName="" then
response.write("<script>alert('要修改的字段名称不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
Session("ColumnName")=ColumnName
Call FindTableRecordset(PathName,TableName,ColumnName)
Response.Redirect("Admin_DatabaseRecordset.asp?step=3")
response.End()
end if
if request("act")="AlerTableColumn" then
PathName=trim(request("PathName"))
TableName=cstr(trim(request("TableName")))
ColumnName=cstr(trim(request("RsName")))
ColumnType=trim(request("RsType"))
if PathName="" then
response.write("<script>alert('数据库的路径不能为空!');history.back(1);</script>")
end if
if TableName="" then
response.write("<script>alert('数据表名称不能为空!');history.back(1);</script>")
end if
if ColumnName="" then
response.write("<script>alert('要修改的字段名称不能为空!');history.back(1);</script>")
end if
if ColumnType="" then
response.write("<script>alert('要修改的字段类型不能为空!');history.back(1);</script>")
end if
Call FindPathName(PathName)
Call FindTableName(PathName,TableName)
call FindTableRecordset(PathName,TableName,ColumnName)
Call AlerTableColumn(PathName,TableName,ColumnName,ColumnType)
end if
Sub FindPathName(PathName)
Set Fso=server.CreateObject("Scripting.FilesystemObject")
If Fso.FileExists(Server.MapPath(PathName))=false then
Session("PathName")=""
response.write("<script>alert('数据库路径错误:"&Server.MapPath(PathName)&"数据库文件不存在,系统即将返回');location.href='Admin_DatabaseRecordset.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
Sub FindTableName(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
Res=0
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
if rsSchema("TABLE_NAME")=tablename then
Res=1
exit do
end if
end if
rsSchema.movenext
Loop
if Res=0 then
Session("TableName")=""
response.write("<script>alert('数据表"&tablename&"不存在,系统即将返回');location.href='Admin_DatabaseRecordset.asp';</script>")
response.End()
end if
set objConn=nothing
End Sub
Sub GetTableList(PathName,TableString)
'dim strConn,objConn,rsSchema
TableString=""
Session("TotalTable")=0
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
set rsSchema=objConn.openSchema(20)
rsSchema.movefirst
Do Until rsSchema.EOF
if rsSchema("TABLE_TYPE")="TABLE" then
TableString=TableString&rsSchema("TABLE_NAME")&";"
Session("TotalTable")=Session("TotalTable")+1
end if
rsSchema.movenext
Loop
if TableString="" then
Session("TotalTable")=0
else
Session("TableList")=left(TableString,len(TableString)-1)
end if
set objConn=nothing
end sub
''查找并显示数据表中所有字段名
Sub GetRecordsetList(PathName,TableName,ColumnName)
Res=0
On Error resume next
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
sql="select * from ["&TableName&"] "
set rs=objConn.execute(sql)
for i=0 to rs.fields.count-1
if i=0 then
ColumnName=rs(i).name&";"
else
ColumnName=ColumnName&rs(i).name&";"
end if
Res=1
next
set rs=nothing
set objConn=nothing
if Res=0 then
response.write("<script>alert('数据表"&tablename&"表中没有任何字段,系统即将返回!');history.go(-1);</script>")
response.End()
end if
End Sub
''查找并显示所有字段名称和属性
Sub GetTableRecordsetList(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
Const adSchemaPrimaryKeys = 28
Const adFldIsNullable = &H00000020
Set rsprimary = objConn.OpenSchema(adSchemaPrimaryKeys, Array(empty, empty, TableName))
do while not rsprimary.eof
if rsprimary("COLUMN_NAME")<>"" then
primarykey=rsprimary("COLUMN_NAME")
else
primarykey=""
end if
rsprimary.movenext
loop
set rsprimary=nothing
sql1="select * from ["&TableName&"] "
set rs=objConn.execute(sql1)
Dim ColumnArrayString,ColumnArray(100)
Session("TotalColumn")=rs.fields.count-1
Session("ColumnArrayString")=""
for i=0 to Session("TotalColumn")
ColumnArrayString=i&";"
if rs(i).name=primarykey then
ColumnArrayString=ColumnArrayString&rs(i).name&" Primarykey;"
else
ColumnArrayString=ColumnArrayString&rs(i).name&";"
end if
select case rs(i).type
case 2
fieldtypestr1="short"
fieldtypestr2="整数"
case 3
if rs(i).Properties("ISAUTOINCREMENT") = True then
fieldtypestr1="Autoincrement"
fieldtypestr2="自动编号"
else
fieldtypestr1="integer"
fieldtypestr2="长整数"
end if
case 4
fieldtypestr2= "单精度数字"
fieldtypestr1="real"
case 5
fieldtypestr2= "双精度数字"
fieldtypestr1="double"
case 6
fieldtypestr2= "货币"
fieldtypestr1="Currency"
case 7
fieldtypestr2= "日期时间"
fieldtypestr1="datetime"
case 11
fieldtypestr2= "是/否"
fieldtypestr1="YesNo"
case 17
fieldtypestr2= "字节型数字"
fieldtypestr1="byte"
case 72
fieldtypestr2= "同步复制ID数字"
fieldtypestr1="Unknown"
case 131
fieldtypestr2= "带小数点数字"
fieldtypestr1="Numeric"
case 202
fieldtypestr2= "文本"
fieldtypestr1="varchar"
case 203
fieldtypestr2= "备注/超级链接"
fieldtypestr1="memo"
case 205
fieldtypestr2= "OLE对象"
fieldtypestr1="OLEObject"
case else
fieldtypestr2= "未知类型"
fieldtypestr1="Unknown"
end select
if rs(i).Properties("ISAutoincrement") = True then
ColumnArrayString=ColumnArrayString&fieldtypestr2&"+"&fieldtypestr1&" Autoincrement;"
else
ColumnArrayString=ColumnArrayString&fieldtypestr2&"+"&fieldtypestr1&";"
end if
ColumnArrayString=ColumnArrayString&rs(i).definedsize&";"
if (rs(i).attributes and &H00000020)=0 then
ColumnArrayString=ColumnArrayString&"Not Null;"
else
ColumnArrayString=ColumnArrayString&"Null;"
end if
ColumnArray(i)=ColumnArrayString&"<br>"
next
for i=0 to Session("TotalColumn")
Session("ColumnArrayString")=Session("ColumnArrayString")&ColumnArray(i)
next
set rs=nothing
set objConn=nothing
End Sub
''查找指定的字段属性
Sub FindTableRecordset(PathName,TableName,ColumnName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
Const adSchemaPrimaryKeys = 28
Const adFldIsNullable = &H00000020
On Error resume next
Set primary = objConn.OpenSchema(28, Array(empty, empty, TableName))
primarykey=""
if primary("COLUMN_NAME")<>"" then
primarykey=primary("COLUMN_NAME")
end if
primary.close
set primary=nothing
Res=0
sql1="select * from ["&TableName&"] "
set rs=objConn.execute(sql1)
for i=0 to rs.fields.count-1
if rs(i).name=ColumnName then
Session("RecordProperty")=rs(i).name&";"
if rs(i).name=primarykey then
Session("RecordProperty")=Session("RecordProperty")&"primary;"
else
Session("RecordProperty")=Session("RecordProperty")&"not primary;"
end if
select case rs(i).type
case 2'整数
Session("RecordProperty")=Session("RecordProperty")&"short;"
case 3'自动编号或者长整数
if rs(i).Properties("ISAUTOINCREMENT") = True then
if rs(i).name=primarykey then
Session("RecordProperty")=Session("RecordProperty")&"Autoincrement;"
else
Session("RecordProperty")=Session("RecordProperty")&"AutoIncrement;"
end if
else
Session("RecordProperty")=Session("RecordProperty")&"integer;"
end if
case 4'单精度数字
Session("RecordProperty")=Session("RecordProperty")&"real;"
case 5'双精度数字
Session("RecordProperty")=Session("RecordProperty")&"double;"
case 6'货币
Session("RecordProperty")=Session("RecordProperty")&"Currency;"
case 7'日期时间
Session("RecordProperty")=Session("RecordProperty")&"datetime;"
case 11'是/否
Session("RecordProperty")=Session("RecordProperty")&"YesNo;"
case 17'字节型数字
Session("RecordProperty")=Session("RecordProperty")&"byte;"
case 72'同步复制ID数字
Session("RecordProperty")=Session("RecordProperty")&"Guid;"
case 131'带小数点数字
Session("RecordProperty")=Session("RecordProperty")&"Numeric;"
case 202'文本
Session("RecordProperty")=Session("RecordProperty")&"varchar;"
case 203'备注/超级链接
Session("RecordProperty")=Session("RecordProperty")&"memo;"
case 205'OLE对象
Session("RecordProperty")=Session("RecordProperty")&"OLEObject;"
case else'rs(i).type
Session("RecordProperty")=Session("RecordProperty")&rs(i).type&"Unknown;"
end select
Session("RecordProperty")=Session("RecordProperty")&rs(i).definedsize&";"
if (rs(i).attributes and &H00000020)=0 then
Session("RecordProperty")=Session("RecordProperty")&"Not Null;"
else
Session("RecordProperty")=Session("RecordProperty")&"Null;"
end if
'Session("RecordProperty")=left(Session("RecordProperty"),len(Session("RecordProperty"))-1)
Res=1
end if
next
set rs=nothing
set objConn=nothing
if Res=0 then
Session("RecordName")=""
response.write("<script>alert('数据表"&tablename&"表中查找不到您要修改的字段名"&ColumnName&",系统即将返回!');location.href='Admin_DatabaseRecordset.asp';</script>")
response.End()
end if
End Sub
Sub ShowTableRecordset(PathName,TableName)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set objConn=server.createobject("Adodb.connection")
objConn.open strConn
Const adSchemaPrimaryKeys = 28
Const adFldIsNullable = &H00000020
Set rsprimary = objConn.OpenSchema(adSchemaPrimaryKeys, Array(empty, empty, TableName))
do while not rsprimary.eof
if rsprimary("COLUMN_NAME")<>"" then
primarykey=rsprimary("COLUMN_NAME")
else
primarykey=""
end if
rsprimary.movenext
loop
set rsprimary=nothing
sql1="select * from ["&TableName&"] "
set rs=objConn.execute(sql1)
Dim ColumnArrayString,ColumnArray(100)
Session("TotalColumn")=rs.fields.count-1
Session("ColumnArrayString")=""
for i=0 to Session("TotalColumn")
ColumnArrayString=i&";"
if rs(i).name=primarykey then
ColumnArrayString=ColumnArrayString&rs(i).name&" Primarykey;"
else
ColumnArrayString=ColumnArrayString&rs(i).name&";"
end if
select case rs(i).type
case 2
fieldtypestr1="short"
fieldtypestr2="整数"
case 3
if rs(i).Properties("ISAUTOINCREMENT") = True then
fieldtypestr1="Autoincrement"
fieldtypestr2="自动编号"
else
fieldtypestr1="integer"
fieldtypestr2="长整数"
end if
case 4
fieldtypestr2= "单精度数字"
fieldtypestr1="real"
case 5
fieldtypestr2= "双精度数字"
fieldtypestr1="double"
case 6
fieldtypestr2= "货币"
fieldtypestr1="Currency"
case 7
fieldtypestr2= "日期时间"
fieldtypestr1="datetime"
case 11
fieldtypestr2= "是/否"
fieldtypestr1="YesNo"
case 17
fieldtypestr2= "字节型数字"
fieldtypestr1="byte"
case 72
fieldtypestr2= "同步复制ID数字"
fieldtypestr1="Unknown"
case 131
fieldtypestr2= "带小数点数字"
fieldtypestr1="Numeric"
case 202
fieldtypestr2= "文本"
fieldtypestr1="varchar"
case 203
fieldtypestr2= "备注/超级链接"
fieldtypestr1="memo"
case 205
fieldtypestr2= "OLE对象"
fieldtypestr1="OLEObject"
case else
fieldtypestr2= "未知类型"
fieldtypestr1="Unknown"
end select
if rs(i).Properties("ISAutoincrement") = True then
ColumnArrayString=ColumnArrayString&fieldtypestr2&"+"&fieldtypestr1&" Autoincrement;"
else
ColumnArrayString=ColumnArrayString&fieldtypestr2&"+"&fieldtypestr1&";"
end if
ColumnArrayString=ColumnArrayString&rs(i).definedsize&";"
if (rs(i).attributes and &H00000020)=0 then
ColumnArrayString=ColumnArrayString&"Not Null;"
else
ColumnArrayString=ColumnArrayString&"Null;"
end if
ColumnArray(i)=ColumnArrayString&"<br>"
next
for i=0 to Session("TotalColumn")
Session("ColumnArrayString")=Session("ColumnArrayString")&ColumnArray(i)
next
set rs=nothing
set objConn=nothing
End Sub
Sub AlerTableColumn(PathName,TableName,ColumnName,ColumnType)
strConn="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(PathName)
set Conn=server.createobject("Adodb.connection")
On Error Resume Next
Conn.open strConn
sql="Alter Table "&TableName&" Alter Column "
RsName=cstr(trim(request("RsName")))
RsType=cstr(trim(request("RsType")))
RsLenth=trim(request("RsLenth"))
RsNull=cstr(trim(request("RsNull")))
RsDefault=cstr(trim(request("RsDefault")))
select case RsType
case "Autoincrement"
sql=sql&RsName&" Autoincrement "&RsNull
case "varchar"
if RsLenth="" then
sql=sql&RsName&" varchar(50) "&RsNull
else
sql=sql&RsName&" varchar("&cint(RsLenth)&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default '"&RsDefault&"'"
end if
case "memo"
if RsDefault<>"" then
sql=sql&RsName&" memo "&" default '"&RsDefault&"'"
else
sql=sql&RsName&" memo "&RsNull
end if
case "integer" '长整形数据
if RsLenth="" then
sql=sql&RsName&" integer "&RsNull
else
sql=sql&RsName&" integer("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "short" '整形数据
if RsLenth="" then
sql=sql&RsName&" short "&RsNull
else
sql=sql&RsName&" short("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "number"
if RsLenth="" then
sql=sql&RsName&" number "&RsNull
else
sql=sql&RsName&" number("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "real" '单精度型整数
if RsLenth="" then
sql=sql&RsName&" real "&RsNull
else
sql=sql&RsName&" real("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "double" '双精度型整数
if RsLenth="" then
sql=sql&RsName&" double "&RsNull
else
sql=sql&RsName&" double("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "Numeric" '小数
if RsLenth="" then
sql=sql&RsName&" Numeric "&RsNull
else
sql=sql&RsName&" Numeric("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "byte" '字节
if RsLenth="" then
sql=sql&RsName&" byte "&RsNull
else
sql=sql&RsName&" byte("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "datetime" 'Access97支持
if RsDefault="" then
sql=sql&RsName&" datetime "&RsNull
else
sql=sql&RsName&" datetime "&RsNull&" default "&RsDefault
end if
case "date"
if RsDefault="" then
sql=sql&RsName&" date "&RsNull
else
sql=sql&RsName&" date "&RsNull&" default "&RsDefault
end if
case "time"
if RsDefault="" then
sql=sql&RsName&" time "&RsNull
else
sql=sql&RsName&" time "&RsNull&" default "&RsDefault
end if
case "YesNo"
if RsDefault="" then
sql=sql&RsName&" YesNo "&RsNull
else
sql=sql&RsName&" YesNo "&RsNull&" default "&RsDefault
end if
case "Currency"
if RsLenth="" then
sql=sql&RsName&" Currency "&RsNull
else
sql=sql&RsName&" Currency("&RsLenth&") "&RsNull
end if
if RsDefault<>"" then
sql=sql&" default "&RsDefault
end if
case "Hyperlink"
if RsDefault="" then
sql=sql&RsName&" OLEObject "&RsNull
else
sql=sql&RsName&" OLEObject "&RsNull&" default "&RsDefault
end if
case "OLEObject"
if RsDefault="" then
sql=sql&RsName&" OLEObject "&RsNull
else
sql=sql&RsName&" OLEObject "&RsNull&" default "&RsDefault
end if
end select
response.Write(sql)
Conn.Execute(sql)
response.write("<script>alert('数据表"&tablename&"表中字段 "&ColumnName&" 修改成功 ,即将返回');location.href='Admin_DatabaseRecordset.asp';</script>")
Response.end
conn.close
set Conn=nothing
End Sub
%>
<table width="739" border="0" align="center" cellpadding="0" cellspacing="0">
<form id="form1" name="form1" method="post" action="" >
<tr>
<td height="30" colspan="2"><div align="center"><strong><font color="#FF0000">修改数据库表字段</font></strong></div></td>
</tr>
<tr>
<td width="154" height="23">数据库路径:</td>
<td ><input name="PathName" type="text" id="PathName" value="<%=session("PathName")%>" >
( 相对路径 )</td>
</tr>
<%if request("step")="" then%>
<tr align="center">
<td height="25" align="left" > </td>
<td height="25" align="left"><input type="submit" name="Submit2" value="读取所有表名称" onClick="document.form1.action='Admin_DatabaseRecordset.asp?act=GetTableList';"></td>
</tr>
<%end if%>
<tr>
<td height="23">数据表名称:</td>
<td ><%
'response.Write("数据表个数"&Session("TotalTable")&"<br>")
'response.Write("数据表名称"&Session("TableList")&"<br>")
'response.End()%>
<script language="JavaScript">
function FormMenu(targ,selObj,restore){
eval(targ+".location='Admin_DatabaseRecordset.asp?act=GetColumnList&PathName=<%=session("PathName")%>&TableName="+selObj.options[selObj.selectedIndex].value+"'");
//if (restore) selObj.selectedIndex=0;
}
</script>
<select name="TableName" id="TableName" size="1" onChange="FormMenu('self',this,0)">
<option value="">请选择数据表</option>
<%if request("step")>1 then%>
<option value="<%=Session("TableName")%>" selected><%=Session("TableName")%></option>
<%end if%>
<%
if Session("TotalTable")>0 then
TableArray=Split(Session("TableList"),";",-1,1)
for i=0 to Session("TotalTable")-1
%>
<option value="<%=TableArray(i)%>"><%=TableArray(i)%></option>
<%next
else
%>
<option value="">没有数据表</option>
<%end if%>
</select>
</td>
</tr>
<%if request("step")=1 then%>
<tr align="center">
<td height="25" align="left" > </td>
<td height="25" align="left">
<input type="submit" name="Submit2" value="读取所有字段名称" onClick="document.form1.action='Admin_DatabaseRecordset.asp?act=GetColumnList';"></td>
</tr>
<%end if%>
<%if request("step")>1 then
'response.Write(Session("ColumnArrayString"))
dim ArrayRsName(50),ArrayRsType(50),ArrayRsLenth(50),ArrayRsNull(50),ArrayRsefault(50)
ArrayA=split(Session("ColumnArrayString"),"<br>",-1,1)
for i=0 to Session("TotalColumn")
ArrayB=split(ArrayA(i),";",-1,1)
ArrayRsName(i)=ArrayB(1)
ArrayRsType(i)=ArrayB(2)
ArrayRsLenth(i)=ArrayB(3)
ArrayRsNull(i)=ArrayB(4)
next
%>
<tr align="center">
<td height="25" align="left" >字段名称:</td>
<td width="585" height="25" align="left">
<script language="JavaScript">
function changelocation(targ,selObj,restore){
eval(targ+".location='Admin_DatabaseRecordset.asp?act=GetColumnProperty&PathName=<%=session("PathName")%>&TableName=<%=session("TableName")%>&ColumnName="+selObj.options[selObj.selectedIndex].value+"'");
//if (restore) selObj.selectedIndex=0;
}
</script>
<select name="RsName" id="RsName" size="1" onChange="changelocation('self',this,0)">
<%if request("step")>1 then%>
<option value="<%=Session("ColumnName")%>" selected><%=Session("ColumnName")%></option>
<%for i=0 to Session("TotalColumn") %>
<option value="<%=ArrayRsName(i)%>"><%=ArrayRsName(i)%></option>
<%next%>
<%else%>
<option value="" selected>请选择字段名</option>
<%for i=0 to Session("TotalColumn") %>
<option value="<%=ArrayRsName(i)%>"><%=ArrayRsName(i)%></option>
<%next%>
<%end if%>
</select>
请选择要修改的字段名 </td>
</tr>
<%if request("step")=3 then
'response.Write(Session("RecordProperty"))
'response.End()
''
ArrayC=split(Session("RecordProperty"),";",-1,1)
RsName1=ArrayC(0)
RsPrimary=ArrayC(1)
RsType1=ArrayC(2)
RsLenth1=ArrayC(3)
RsNull1=ArrayC(4)
%>
<tr align="center">
<td height="25" align="left" >字段类别:</td>
<td height="25" align="left">
<select name="RsType" size="1" id="RsType">
<option value="Autoincrement" <% if RsType1="Autoincrement" then response.Write("selected")%>>自动编号</option>
<option value="varchar" <% if RsType1="varchar" then response.Write("selected")%> >文本</option>
<option value="memo" <% if RsType1="memo" then response.Write("selected")%>>备 注</option>
<option value="integer" <% if RsType1="integer" then response.Write("selected")%>>长整型整数</option>
<option value="short" <% if RsType1="short" then response.Write("selected")%>>整型整数</option>
<option value="real" <% if RsType1="real" then response.Write("selected")%>>单精度型整数</option>
<option value="double" <% if RsType1="double" then response.Write("selected")%>>双精度型整数</option>
<option value="byte" <% if RsType1="byte" then response.Write("selected")%>>字节型整数</option>
<option value="Numeric" <% if RsType1="Numeric" then response.Write("selected")%>>小数整数</option>
<option value="datetime" <% if RsType1="datetime" then response.Write("selected")%>>日期/时间</option>
<option value="date" <% if RsType1="date" then response.Write("selected")%>>日期</option>
<option value="time" <% if RsType1="time" then response.Write("selected")%>>时间</option>
<option value="Currency" <% if RsType1="Currency" then response.Write("selected")%>>货币</option>
<option value="YesNo" <% if RsType1="YesNo" then response.Write("selected")%>>是/否</option>
<option value="Hyperlink" <% if RsType1="Hyperlink" then response.Write("selected")%>>超链接</option>
<option value="OLEObject" <% if RsType1="OLEObject" then response.Write("selected")%>>OLE对象</option>
</select>
</td>
</tr>
<tr align="center">
<td height="25" align="left" >字段长度:</td>
<td height="25" align="left"><input name="RsLenth" type="text" id="RsLenth" size="10" value="<%=RsLenth1%>">
</td>
</tr>
<tr align="center">
<td height="25" align="left" >是否为空:</td>
<td height="25" align="left"><select name="RsNull" size="1" id="RsNull">
<option value="Null" <%if RsNull1="Null" then response.Write("selected")%>>允许</option>
<option value="Not Null" <%if RsNull1="Not Null" then response.Write("selected")%>>不允许 </option>
</select>
</td>
</tr>
<tr align="center">
<td height="25" align="left" >默认值:</td>
<td height="25" align="left"><input name="RsDefault" type="text" id="RsDefault" size="25">
</td>
</tr>
<tr align="center">
<td height="25" align="left" >字段说明:</td>
<td width="585" height="25" align="left"><input name="RsDescription" type="text" id="RsDescription" size="35" maxlength="255">
</td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="Submit" value="修改数据库表字段" onClick="document.form1.action='Admin_DatabaseRecordset.asp?act=AlerTableColumn';">
</td>
</tr>
<%end if%>
<%end if%>
</form>
</table>
相关推荐
2. 修改字段:在设计视图中,可以更改字段的名称、数据类型、大小等属性。例如,将文本字段的大小增加,以便容纳更多字符。 3. 更新查询:通过创建更新查询,可以批量修改满足特定条件的数据。在查询设计视图中设置...
同时,可以设置字段属性,如数据类型、默认值、允许空值等。 3. **查询构建**:提供图形化的查询设计界面,方便用户构建复杂的数据检索逻辑,支持SQL语句的编写和执行。 4. **关系设计**:用户可以定义和管理表间...
第四章主要围绕表进行,讲解了创建表的五种方式,字段属性的设置,特别是字段的“格式”和“输入掩码”属性,以及主键的定义。主键是数据库中标识唯一记录的关键字段,对于保持数据的唯一性和完整性至关重要。 最后...
下面我们将详细探讨如何在C++ Builder中连接、增加、删除和修改Access数据库中的数据。 首先,**连接Access数据库**: 1. 配置ODBC数据源:在Windows系统中,你需要通过ODBC管理器设置一个指向Access数据库的数据源...
首先,我们需要建立一个ACCESS数据库,创建一个名为“message”的表,然后设置表中的字段名称和数据类型。然后,我们打开Microsoft Visual Basic 6.0,添加一个ADODC控件到窗体上,默认名称为Adodc1。 连接数据库有...
2. 表管理:查看器支持创建、修改和删除数据库中的表,包括设置字段属性、添加索引和建立关系。 3. 查询设计:用户可以利用查看器构建复杂的SQL查询,实现数据的筛选、合并和计算,提高数据处理效率。 4. 报表生成:...
本教程主要涵盖了Access数据库表的创建和字段属性设置,对于初学者来说是非常实用的学习材料。 首先,我们来看字段名称的设定。字段是构成数据库表的基本元素,每个字段都有一个独特的名称以便于识别和使用。在...
- **修改数据**:使用`Edit`方法切换到编辑模式,更改字段值,然后`Update`保存更改。 - **查询数据**:打开`CDaoRecordset`时可以指定SQL查询语句,`Open`方法将返回满足条件的记录集。 4. **连接与断开**: 当...
4. 表结构修改:用户可能可以调整表的结构,如添加、删除或修改字段,以及设置字段属性,如数据类型、大小、是否为主键等。 5. 导入导出:支持与其他格式(如CSV、Excel或DBF)的数据交换,方便数据迁移或整合。 6...
10. 打包资源:提供的"ExcelToAccess"压缩包可能包含ASP脚本、Excel模板、Access数据库文件以及可能的配置文件,用户只需根据自己的实际情况进行适当的修改和配置,即可复用此解决方案。 总结,这个示例涉及了ASP...
要修改表中现有字段的属性,比如更改字段类型或设置主键,你可以使用 `ALTER TABLE` 语句。如果要将 `id` 字段设为主键,可以这样操作: ```sql ALTER TABLE 表1 ALTER COLUMN [id] COUNTER CONSTRAINT ...
通过ACCESS,用户可以构建数据模型,定义数据类型,设置字段属性,并通过表间关系实现数据间的关联。 《破障ACCESS数据库查看器》的核心功能包括: 1. **数据库浏览**:用户可以直接打开和查看ACCDB或MDB格式的...
表设计包括定义字段(列)、数据类型(如文本、数字、日期/时间等)以及字段属性(如必填、默认值等)。在实例2中,你可能需要创建或调整表结构以满足特定需求。 2. 关系设计:Access支持一对一、一对多和多对多的...
Access数据库是Microsoft Office套件中的一款关系型数据库管理系统,它提供了直观的图形用户界面和强大的数据分析工具,适合小型企业或个人使用。以下是对Access数据库基础知识的详细解释: 1. **数据库基本概念**...
在易语言中创建Access数据库,主要是通过API函数或者易语言自身的数据库模块来实现的。Access数据库是微软公司开发的一种关系型数据库管理系统,广泛应用于小型数据管理与分析。 创建Access数据库主要包括以下几个...
3. 表的设计:掌握如何设计数据表,包括定义字段、设置字段属性(如是否为主键、允许空值、默认值等)、创建索引以提高查询效率。 4. 数据输入与管理:学习如何在表中输入、修改和删除数据,以及如何使用查询来筛选...
3. 你可以设置其他字段属性,如“大小”,默认为5MB,可以根据需要调整。 二、添加图片 1. 在表的记录编辑界面,点击新创建的“OLE对象”字段,会弹出一个对话框,选择“插入”选项。 2. 浏览并选择你要添加的图片...
例如,当你需要将一个Access数据库迁移到其他系统,如SQL Server或Oracle时,DDL语句可以帮助你准确地重建数据库结构。在Access中,生成DDL语句通常通过以下步骤完成: 1. 打开Access数据库,选择你想要导出DDL语句...
Access数据库是Microsoft Office套件中的一款数据库管理系统,它提供了创建、管理和操作数据的强大功能。本教学课件主要介绍了如何在Access中创建数据库表以及设置字段属性。 1. **字段名称**: - 字段是表的基础...
这包括更新表单中的数据值,调整字段属性,或者修改记录状态。对于开发者或数据库管理员来说,这样的实时编辑功能大大提高了工作效率。 3. **删除**:删除操作涵盖删除记录、字段甚至整个表。用户在确认操作前通常...