数据库链接
完成了ODBC DSN的设置,同时也完成了与SQL Server的联机测试。但是,这仅限于与SQL Server的联机测试、登录帐号检查而已。实际上,对于SQL Server内的数据库是否拥有操作权限,是否允许记录的读取写入等,到目前为止尚未得知,哪位高人可以给我一段代码可以看到数据库中某个表的字段名称
[解决办法]
<!--#include file= "../share.asp "-->
<%
dim bm,lj,xsbj,xslj
bm=request( "bm ")
lj=request( "lj ")
xsbj=request( "bja ")
xslj=request( "lja ")
%>
<HTML>
<HEAD>
<link REL= "stylesheet " TYPE= "text/css " HREF= " <%=Session( "ThemePath ")%> /CSS/Share.CSS ">
<link REL= "stylesheet " TYPE= "text/css " HREF= " <%=Session( "ThemePath ")%> /CSS/repeater.CSS ">
<script language= "JScript.Encode " src= " <%=Session( "ThemePath ")%> /Script/function.JS "> </script>
<script language= "javascript ">
function check()
{
showSending( '正在对所有数据进行核查导入,请稍候... ');
document.form1.onsubmit = ' ';
document.form1.submit();
}
</script>
</HEAD>
<body leftMargin= "0 " topMargin= "0 " MARGINHEIGHT= "0 " MARGINWIDTH= "0 ">
<%=strGetHeadbox(tmpTitle & "在校学生基本信息导入 ")%>
<%
'得到SQLSERVER的字段名
Set Rs=server.CreateObject( "adodb.recordset ")
Rs.Open "select top 1 id from sysobjects where xtype= 'u ' and name= 'school_pupilinfo ' ", Conn, 1, 1
If Not Rs.EOF Then
Set Reco=server.CreateObject( "adodb.recordset ")
Set Reco = Conn.Execute( "select name from syscolumns where id= " & Rs( "id ") & " ORDER BY colid ")
Do While Not Reco.EOF
if lcase(reco( "Name ")) <> "classid " and lcase(reco( "name ")) <> "id " and lcase(reco( "name ")) <> "stu_image " and lcase(reco( "Name ")) <> "status " then
end if
Reco.MoveNext
Loop
Reco.Close
End If
'用二维数组把SQLSERVER里的字段装起来
dim myarray()
ReDim myarray(2,0)
Set Rs1=server.CreateObject( "adodb.recordset ")
Rs1.Open "select top 1 id from sysobjects where xtype= 'u ' and name= 'school_pupilinfo ' ", Conn, 1, 1
If Not Rs1.EOF Then
Set Rs_sql=server.CreateObject( "adodb.recordset ")
Set Rs_sql = Conn.Execute( "select name from syscolumns where id= " & Rs( "id ") & " ORDER BY colid ")
Do While Not Rs_sql.EOF
if lcase(Rs_sql( "Name ")) <> "classid " and lcase(rs_sql( "name ")) <> "id " and lcase(rs_sql( "name ")) <> "stu_image " and lcase(Rs_sql( "Name ")) <> "status " then
ReDim Preserve myarray(2,ubound(myarray,2)+1)
myarray(1,ubound(myarray,2)) = GetDatabaseFieldDescribing(Conn, "school_pupilinfo ",Rs_sql( "Name "))
myarray(2,ubound(myarray,2)) = "F_ " & Rs_sql( "Name ")
end if
Rs_sql.MoveNext
loop
end if
'得到用户表的字段名
dim kzm
kzm = lcase(mid(lj,InstrRev(lj, ". ")+1))
set excelconn = server.createobject( "adodb.connection ")
if ucase(kzm)= "XLS " then
strConn= "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;DBQ= " & server.MapPath(lj) & ";DefaultDir=; "
else
StrConn= "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq= "&server.MapPath(lj)& "; "
end if
on error resume next
err.Clear
excelconn.open strConn,1,1
set objrs = server.createobject( "adodb.recordset ")
sql = "select * from [ " & bm & "] "
'Response.Write sql
objrs.open sql,excelconn,1,1
if err.number <> 0 then
Response.Write " <script> alert( " "对不起,无法打开该表! " ");location.href= " "default.asp " "; </script> "
Response.End
end if
on error goto 0
%>
<br>
<center> 选择对应字段,左边为系统数据库字段,右边为来源数据字段。如果没有对应的字段请不要选择。 <br> <br> 导入条件:学籍号+中考报名号 </center>
<div class= "DataGrid ">
<form name= "form1 " method= "post " action= "select_third.asp?bm= <%=bm%> &lj= <%=lj%> &xsbj= <%=xsbj%> &xslj= <%=xslj%> ">
<table class= "Border " width= "95% " border= "0 " align= "center " cellspacing= "1 ">
<%
Dim z
z=1
Response.Write " <tr> "
for x=1 to ubound(myarray,2)
if z mod 3 <> 0 then
%>
<td class= "List " height= "90px "> <div align= "left ">
<%=myarray(1,x)%> ->
<select name= " <%=myarray(2,x)%> ">
<option value= " " selected> ------- </option>
<%for i=0 to objrs.Fields.Count - 1%>
<option value= " <%=objrs(i).name%> "> <%=objrs(i).name%> </option>
<%next%>
</select>
</div> </td>
<%else%>
<td class= "List " height= "90px "> <div align= "left ">
<%=myarray(1,x)%> ->
<select name= " <%=myarray(2,x)%> ">
<option value= " " selected> ------- </option>
<%for i=0 to objrs.Fields.Count - 1%>
<option value= " <%=objrs(i).name%> "> <%=objrs(i).name%> </option>
<%next%>
</select>
</div> </td>
</tr> <tr>
<%end if
'Reco.movenext
z = z + 1
next
%>
<td class= "List " height= "90px "> </td>
<td class= "List " height= "90px "> </td>
</tr>
</table>
<br>
<div align= "center ">
<button onclick= "showSending( '正在对所有数据进行检查核对,请稍候... ');setTimeout( 'check() ',0); "> 导 入 </button>
</div>
</form>
</div>
</BODY>
</HTML>
[解决办法]
<html>
<head> <title> 演示DSN连接数据库 </title> </head>
<body>
<%
'server对象的createobject方法建立conection对象
set conn=server.createobject( "adodb.connection ")
'DSN表示服务器端设置的DNS名称
'uid表示用户帐号
'pwd表示用户密码
'database表示在数据库服务器上的一个database的名称
conn.connectionstring= "DSN=sqlDB;UID=sa;PWD=000;Database=sqlDB "
'判断数据库状态
if conn.state=1 then
response.write( "数据库成功打开 <BR> <BR> ")
end if
%>
<script language= "javascript ">
alert( "单击确定,关闭数据库 ");
</script>
<%
if conn.state=0 then
response.write( "数据库已经关闭 ")
end if
'释放connection对象,关闭数据库
set conn=nothing
%>
</body>
</html>