欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>网站制作技术>>文章内容
输入表的序号数组生成表格
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

本来想找个兼职的,结果一个公司的CEO考偶这样的题目:要一个算法实现一个这样个功能,输入一个表的字段的序号,根据该序号字符串生成表格,一个表的字段的序号代表需要列出的字段,还要有表头(即列出所输入的序号相对应的字段的名称),要求在20分钟内搞定,结果花了偶一个多小时,暴汗:(

完整程序和数据库打包下载:

<form method="post" action="">
请输入需要列出的字段序号(以逗号隔开,比如1,3,5):<br><input type="text" name="No" value="<%=Trim(Request("No"))%>"> <input type="submit" name="submit" value="Submit">
</FORM>
<%
Const IsSql = 0    '定义数据库类型为Access

Function OpenConn(Conn)     '打开数据库连接
    Dim ConnStr 
    If IsSql = 1 Then '如果是SQL Server数据库 
        'SQL Server数据库连接参数:用户名、用户密码、数据库名、连接名(本地用local,外地用IP) 
        Dim SqlUsername,SqlPassword,SqlDatabaseName,SqlLocalName 
        SqlUsername = "sa" 
        SqlPassword = "" 
        SqlDatabaseName = "Test" 
        SqlLocalName = "(local)" 
        ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";" 
    Else  '如果是Access数据库 
        Dim Db
        Db = "Test.mdb" 
        ConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=applebbs;Data Source = " & Server.MapPath(Db)
    End If 
    On Error Resume Next 
    Set Conn = Server.CreateObject("ADODB.Connection") 
    Conn.Open ConnStr 
    If Err Then 
'        Err.Clear 
        Set Conn = Nothing 
        echo "数据库连接出错,请检查连接字串。" 
        Response.End 
    End If 
End Function

Function CloseConn(Conn)  '关闭数据库连接 
    If IsObject(Conn) Then
        Conn.Close 
        Set Conn = Nothing
    End If
End Function

Function echo(Str)
    Response.Write Str & VbCrlf
End Function

If Request("submit") = "Submit" Then
    Call OpenConn(Conn)
    strNo = Trim(Request("No"))
    Strtemp = Split(strNo,",") '以逗号分割成数组
    Sql = "Select * From Test"
    Set Rs = Server.CreateObject("Adodb.RecordSet")
    Rs.Open Sql,Conn,1,1
    echo "<table border=""1"">"
    MM = 1
    If Rs.Eof Then '如果无记录
        echo "    <tr align=""center""><td>Sorry,no data!<td></tr>"
    Else
        echo "    <tr>"
        echo "        <th>序号</th>"
        For I = 0 To Ubound(Strtemp) '先循环列出字段名作为表头
            echo "        <th>" & Rs.Fields(CInt(Strtemp(I))-1).Name & "</th>"
        Next
        echo "    </tr>"
        Do While Not Rs.Eof '循环列出所有数据行
            echo "    <tr align=""center"">"
            echo "        <td>" & MM & "</td>"
            For I = 0 To Ubound(Strtemp) '循环列出字段值
                echo "        <td>" & Rs(CInt(Strtemp(I))-1) & "</td>"
            Next
            echo "    </tr>"
        MM = MM + 1
        Rs.MoveNext:Loop
    End If
    echo "</table>"
    Rs.Close
    Set Rs = Nothing
    Call CloseConn(Conn)
End If %>
附件:
关闭窗口
打印文档
账号登录
保持登录 忘记密码?
账号与武进教师培训平台同步