推荐一篇不错的新手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")&"" />" '(错误写法)

当前1/2页 12下一页阅读全文

时间: 2024-08-30 02:10:22

推荐一篇不错的新手asp编程的基本法则第1/2页_应用技巧的相关文章

新手asp编程的基本法则与常见错误注意事项_应用技巧

一.新手常犯的错误 在论坛看到很多帖子代码中都有一个共同的基本错误,字段类型错误. 程序和数据库是紧紧相连的,数据库字段文本型或时间型的都使用单引号 比如下面这段修改语句: conn.execute "update Counts set counts='"&counts&"' where num="&num&" and Atime='"&now()&"'" 等号左边都是字段名,等

新手asp编程的基本法则与常见错误注意事项

一.新手常犯的错误 在论坛看到很多帖子代码中都有一个共同的基本错误,字段类型错误. 程序和数据库是紧紧相连的,数据库字段文本型或时间型的都使用单引号 比如下面这段修改语句: conn.execute "update Counts set counts='"&counts&"' where num="&num&" and Atime='"&now()&"'" 等号左边都是字段名,等

实例分析之用ASP编程实现网络内容快速查找的代码_应用技巧

有一天我突发奇想,要是我每到一个网站,那里都能立刻调出我需要看的信息,那岂非美妙得很.接下来我想更深入地考虑这个问题,坐到椅子上拿一支铅笔,却不知道自己写什么.如此一来,我还是得着手对付代码它们.  我的朋友开了一个小型站点,原本是我设计的.这是个检验我想法的好平台.所以我写出代码,上传了文件.真叫人兴奋,程序工作起来煞是圆满,同时也证明我的想法的确不错. 以前看过一些网络使用者倾向报告,其中有一个规律给我印象很深.说是大多数用户如果在三次点击内无法找到自己需要的内容,就会立刻离开该站点.我的代

ASP XML编程objXML.async = False第1/2页_应用技巧

从技术上来说,在ASP环境中,读入并管理XML文本的主要方法有三种: 创建MSXML对象,并且将XML文档载入DOM: 使用服务器端嵌入(Server-Side Include,SSI): 就如同访问其他文本文件一样,使用FileSystemObject来访问XML文档: 第四种方法是在客户端创建内置的数据岛,有关的内容以后讲解. 一.使用DOM 为了在ASP代码中使用DOM,需要创建一个Microsoft XML分析器的实例,它像任何别的COM组件一样被实例化,在页面的开始处顼要增加几行标准代

asp.net 程序优化精选第1/2页_实用技巧

1.数据库访问性能优化 数据库的连接和关闭        访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响.系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求.连接池的大小是有限的,如果在连接池达到最大限度后仍要求创建连接,必然大大影响性能.因此,在建立数据库连接后只有在真正需要操作时才打开连接

asp.net get set用法第1/2页_实用技巧

在早期学习c#的过程中,经常遇到这样的语句: public string StudentName {            get{return stuName;}            set{stuName=value;} }        当时也不是很明白为什么要这样?学深了c#后,又没法对其做一个总结.今天看了<Visual c#.net程序设计教程>这本书,总结得不错,做下笔记:        在许多面向对象程序设计语言中,属性(property)是指对象的特征和状态,具体地说就是指

asp.net 面试+笔试题目第1/2页_实用技巧

一名入门的asp.net程序员应该掌握的知识: (1)熟练使用Sql Server中企业管理器.查询分析器和事件探查器,能熟练编写T-SQL.存储过程.用户自定义函数.视图.触发器: (2)了解ASP.net服务器控件的生命周期: (3)熟练掌握HTML,CSS,javascript,xml,Web Service,AJAX: (4)掌握多层结构以及类的设计方法: (5)了解网站安全漏洞相关方面以及优化技巧: 1.可以使用抽象函数重写基类中的虚函数吗? 答:可以,需使用new修饰符显式声明,表示

asp.net常用函数收藏第1/2页_应用技巧

/// <summary> /// 得到站点用户IP /// </summary> /// <returns></returns> public static string getUserIP() { return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); } /// <summary> /// 去除字符串最后一个','号 //

[推荐]ASP编程通用函数收藏大全第1/2页

本帖将收集和征集最全面的ASP编程应用中通用功能函数,人人为我,我为人人:) 只要大家每人献出一两条自己收藏已久,精典的通用函数,我想本帖将会对许许多多的ASP编程爱好者.工作者有很大的帮助,也将成为大家ASP编程的必备函数集. 赶快检查您自己的函数库吧,看一下你有的我们这里都有了吗? 如果你发现了你的函数库里还有着那么一两条鲜为人知的函数,那快点以下面格式跟帖回复吧. 发表通用函数帖子格式:复制代码 代码如下:<% '****************************** '函数:Fun