zoukankan      html  css  js  c++  java
  • asp 遇到过的问题集锦,附加asp语句添加数据库和生成表,asp命令更改指定文件的文件名,asp值传递的应用091116小结

    一、 if (date()-rs1("fabsj"))<3  then 发现  if (条件)then 不能分行,否则,编译时候出错了。
    二、
    先在cmd命令下进入命令行,然后,进入放置组件的目录,然后键入
    regsvr32 component_name.dll   否则,它提示没有发现该组件模块.
    例如c:\temp\regsvr32 AspEmail.dll 它会把在temp中的 aspemail.dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了.
    要取消注册这个dll,使用命令: regsvr32 /u aspobject.dll
    例如cmd进入temp目录下:c:\temp\regsvr32 /u aneiodbc.dll
    2005 11  17 by hhw

    三、网站设置
    1、      
    最好启用父路径
    2、        Ntfs分区里面增强FSO地安全性

    如果出现 Microsoft VBScript 运行时错误 错误代码 '800a0046' 没有权限

    一般考虑:a、fso权限——看是不是服务器禁止用一些组件,或者要注册一些组件  b、代码不编译不通过-->快调试看看  c、ntfs权限->这时候,可以对web文件夹右键,在安全里面添加用户。该用户最好就是你在web站点安全时候允许默认匿名登陆的用户。如:xiner用户。当然之前要设置好xiner的密码哦。091116小结过。
     3   如何解除FSO上传程序小于200k限制?

    先在服务里关闭IIS admin service服务,找到WindowsSystem32Inesrv目录下的Metabasexml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。默认为204800,即200K,把它修改为5120000050M),然后重启IIS admin service服务。

    4、asp语句创建mdb数据库

    先声明定义

    <%filename1="chengji/"&strzhen&strschool&strglade&strclass&struser&"成绩表.xls"   '可更改存放路径,以后可以调用filename1

    %>

     先声明要用的rs

    <%

    set rs=server.createobject("adodb.recordset")
    rs.open sql,conn,3,2
    Set fs = server.CreateObject("scripting.filesystemobject")
    filename = Server.MapPath(filename1)
    if fs.FileExists(filename) then   ’如果有同名文件则要先删除
        fs.DeleteFile(filename) 
    end if 

    set myfile = fs.CreateTextFile(filename,true) 
    strline="所在镇"&chr(9)&"学校"&chr(9)&"学号"&chr(9)&"姓名"&chr(9)&"年级"&chr(9)&"班别"&chr(9)&"成绩"
    myfile.writeline strline

    %>

    <%
    Option Explicit
    dim databasename '定义数据库名称
        databasename="new_result.mdb" '数据库名称
    dim databasepath '定义数据库存放路径
        databasepath=server.MapPath("chengji/") '数据库相对路径
    dim databasever '定义数据库版本 2000 或者 97
    databasever = "2000"
    Function Createdfile(filepath,filename,ver)
    Dim Ca,dbver
    select case ver
    case "97"
    dbver = "3.51"
    case "2000"
    dbver = "4.0"
    end select
    if dbver <> "" then
    Set Ca = Server.CreateObject("ADOX.Catalog")
    call Ca.Create("Provider=Microsoft.Jet.OLEDB." & dbver & ";Jet OLEDB:Database Password='12345678';Data Source=" & filepath &"/"& filename )'注意路径的引用
    end if
    End Function
    dim fs
    Set fs = server.CreateObject("scripting.filesystemobject")   '如果存在同名文件则要先删除,再生成新的文件
    if fs.FileExists(databasepath&"/"&databasename) then 
        fs.DeleteFile(databasepath&"/"&databasename) 
    end if
    Createdfile databasepath,databasename,databasever '创建数据库

    %>

    <%

    dim conn2,creat_tab_sql,insert_sql'以下在库中建表
    dim dbpath
    set conn2=server.createobject("adodb.connection")
    dbpath=Server.mappath("chengji/new_result.mdb")
    conn2.Open "driver={Microsoft Access Driver (*.mdb)};pwd=12345678;dbq=" & dbpath
    creat_tab_sql="Create table chengji (id autoincrement(1,1) primary key, zhen text, school text,xuehao text, name text,glade text, class text,chengji int,title text) "
    conn2.execute (creat_tab_sql) '执行SQL,建表

    %>

    <%

    do while not rs.eof
    strline=""
    strline=rs("z_name")&chr(9)&rs("s_name")&chr(9)&rs("stu_no")&chr(9)&rs("stu_name")&chr(9)&rs("stu_glade")&chr(9)&rs("stu_class")&chr(9)&rs("score")
    myfile.writeline strline '输出流文件,得到excel文件

    zhen=rs("z_name") '在打开的rs中,具有以下的数据,可以轻松得到
    school=rs("s_name")
    xuehao=rs("stu_no")
    username=rs("stu_name")
    glade=rs("stu_glade")
    class1=rs("stu_class")
    chengji=rs("score")
    title=rs("subject")
    insert_sql = "insert into chengji(zhen , school ,xuehao , [name] ,glade , class ,chengji ,title ) VALUES ('"&zhen&"','"&school&"','"&xuehao&"','"&username&"','"&glade&"','"&class1&"',"&chengji&",'"&title&"') "
    conn2.Execute(insert_sql) '插入行操作

    rs.movenext
    loop
    conn2.close

    Response.Write "生成EXCEL文件成功,点击<a href='"&filename1&"' target='_blank'>下载</a>!" ’提供生成的excel文件下载
    rs.close

    %>

     

    再转其他的用法, 在已有的表中,创建字段。
    <%
    dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;"
    set conn=server.createobject("ADODB.connection")
    conn.open dbs
    set cat =server.createobject("ADOX.Catalog")
    Set cat.ActiveConnection = conn
    set tbl=cat.tables("bbs")
    set objColumn = server.createObject("ADOX.Column")
    Set objColumn.parentCatalog = cat
    objColumn.name = "time1"
    objColumn.type = "130"
    objColumn.attributes=2
    tbl.columns.append objColumn
    set objTable = nothing
    set objCat = nothing
    %>

    删除字段和修改字段

    <%
    dbs="Data Source="+server.mappath("database.mdb")+";Provider=Microsoft.Jet.OLEDB.4.0;"
    set conn=server.createobject("ADODB.connection")
    conn.open dbs
    set cat =server.createobject("ADOX.Catalog")
    Set cat.ActiveConnection = conn
    set tbl=cat.tables("bbs")
    tbl.columns.delete "time"
    set field=tbl.columns("time2")
    field.name="time"
    %>

    如果需要用asp命令更改文件名则

    <%

    Set   fso   =   Server.CreateObject("Scripting.FileSystemObject")    
      Set   f   =   fso.GetFile("d:\files\test.asp")  
      f.name   ="new.asp"  
      newname=f.name  
      response.write   newname     '显示为:new.asp    

    %>

    还有一方法:  
    <%

     Set   fso   =   Server.CreateObject("Scripting.FileSystemObject")    
      fso.movefile   "d:\files\test.asp","d:\files\new.asp"  
    %>

    在it考试系统中,我应用asp实现在表格中 删除行功能 有该做法,是使用了值传递

    display.asp表格中对应行

    <td ><a href="del_stu_score.asp?id=<%=rs("stu_id")%>&score=<%=rs("score")%>&testid=<%=request("testid")%>">删除</a></td>

    改行显示的只有"删除",但隐藏后面有转向到del_stu_score.asp文件中操作,并且附带传递了几个值:id,score,testid.

    在del_stu_score.asp中源码

    <!--#include file="xxx"-->
    <%
    id=request("id")
    score=request("score")
    test_id=request("testid")'从上页获得值
    conn.execute("delete from exa_scor where userid in("&id&") and score="&score&"")'删除对应学号和分数的行
    response.redirect "displayscore.asp?testid="&test_id&"" '注意test_id回送值,否则不能正常显示                   
    %>

    注意在asp中,值引用格式要testid="&test_id&" 单引号.否则不能传送.我以前用的asp比较少.呵呵. 

     

     

  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/pyman/p/1230249.html
Copyright © 2011-2022 走看看