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比较少.呵呵. 

     

     

  • 相关阅读:
    SQL所有者更改问题
    人生路上对我影响最大的三位老师
    自我介绍
    Ural_1146. Maximum Sum (DP)
    Ural_1654. Cipher Message(栈)
    Ural_1333. Genie Bomber 2
    POJ_2112 Optimal Milking(网络流)
    Ural_1031.Railway Ticket (DP)
    Ural_1030. Titanic
    Ural_1207. Median on the Plane(计算几何)
  • 原文地址:https://www.cnblogs.com/pyman/p/1230249.html
Copyright © 2011-2022 走看看