• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    推荐一篇不错的新手asp编程的基本法则第1/2页
    一、新手常犯的错误
    在论坛看到很多帖子代码中都有一个共同的基本错误,字段类型错误。
    程序和数据库是紧紧相连的,数据库字段文本型或时间型的都使用单引号
    比如下面这段修改语句:
    conn.execute "update Counts set counts='"counts"' where num="num" and Atime='"now()"'"
    等号左边都是字段名,等号右边是传值过来的变量名,counts 字段是文本型,所以写入时必须前后加单引号,无论是写入还是查询都一样,后面的查寻语句中,num 字段是数字型,所以前后就没有单引号了,Atime 字段是时间型所以前后也要加单引号。
    最重要的是以ID查询,ID字段是唯一的并且数字类型,很明显查询ID号时前后也不能有单引号

    conn.execute "update Counts set counts='"counts"' where id='"id"'" '错误写法
    conn.execute "update Counts set counts='"counts"' where id="id '正确写法

    二、ACCESS 数据库连接
    通常数据库连接有两种方式,新手基本不知道用哪一种方式,或者在什么情况下用哪一种,又或者不知道两者的原理
    ①直接连接数据库文件


    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="Server.MapPath("database/yanhang.mdb")

    ②通过数据源来连接数据库文件


    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="Server.MapPath("database/yanhang.mdb")

    那么,两者到底哪一个好呢,当然是第二种,因为第一种其实就是客户端浏览器直接读取数据库的,所以安全方面差很多,第二种通过数据源连接,是以服务器数据源工具连接的,与客户端没关系,所以数据库不会暴露给客户端,安全系数高很多。

    ACCESS 数据库对应程序的应用:①直接连接数据库文件


    conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="Server.MapPath("database/yanhang.mdb")

    这样的数据库连接方式,添加语句:


    set rs=server.createobject("adodb.recordset") '(正确写法)
    rs.open "select * from dndj",conn,1,3
    rs.addnew
    rs("bh") = bh
    rs("bm") = bm
    rs("xm") = xm
    rs("xsq") = xsq
    rs.update
    rs.close
    set rs=nothing

    set rs=server.createobject("adodb.recordset") '(错误写法)
    sql="insert into dndj(bh,bm,xm,xsq) values('bh','bm','xm','xsq')"
    rs.open sql,conn,1,3

    ACCESS 数据库对应程序的应用:②通过数据源来连接数据库文件


    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="Server.MapPath("database/yanhang.mdb")

    这样的数据库连接方式,添加语句:


    conn.execute "insert into dndj(bh,bm,xm,xsq) values('"bh"','"bm"','"xm"','"xsq"')" '(正确写法)

    set rs=server.createobject("adodb.recordset") '(错误写法)
    sql="insert into dndj(bh,bm,xm,xsq) values('bh','bm','xm','xsq')"
    rs.open sql,conn,1,3

    三、双引号的应用
    通常我们写超级连接这样 a href="abc.asp?id=%=rs("id")%>">超级连接/a>
    但要是把这个超级连接编译进asp里面呢


    response.write "a href=""abc.asp?id="rs("id")""">超级连接/a>" '(正确写法)
    response.write "a href='abc.asp?id="rs("id")"'>超级连接/a>" '(正确写法)
    response.write "a href=abc.asp?id="rs("id")">超级连接/a>" '(正确写法)

    response.write "a href="abc.asp?id=%=rs("id")%>">超级连接/a>" '(错误写法)
    response.write "a href="abc.asp?id="rs("id")"">超级连接/a>" '(错误写法)

    表单编译进asp里 input type="text" name="id" value="%rs("id")%>" />


    response.write "input type=""text"" name=""id"" value="""rs("id")""" />" '(正确写法) 注意:这里有三个双引号
    response.write "input type='text' name='id' value='"rs("id")"' />" '(正确写法)
    response.write "input type=text name=id value="rs("id")" />" '(正确写法)

    response.write "input type="text" name="id" value="%=rs("id")%>" />" '(错误写法)
    response.write "input type="text" name="id" value=""rs("id")"" />" '(错误写法)
    12下一页阅读全文
    上一篇:ASP获取ACCESS数据库表名及结构的代码
    下一篇:最简洁的asp多重查询的解决方案
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    推荐一篇不错的新手asp编程的基本法则第1/2页 推荐,一篇,不,错的,新手,