• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> ASP开发 >> ASP基础 >> 详细内容
 

推荐文章

  • ASP的100个必须掌握的基础
 
 

热点文章

  • ASP初级三——ASP实例讲解
  • ASP的100个必须掌握的基础
  • ASP入门及提高
  • ASP中级三--Ajax入门讲座记录
  • ASP初级一——入门及总结
  • asp学习入门经验谈
  • ASP中级一——正则表达式讲座记录
  • ASP中级二--ORM讲座记录
  • 精华asp代码收集
  • ASP个人上手指南
  • ASP编程常用的代码
  • ASP开发网页牢记注意事项
 
 

相关文章

  • ASP初级一——入门及总结
 
 

百度搜索

 
 

ASP初级三——ASP实例讲解

  • 阅览次数:
  • 文章来源: nnhy
  • 原文作者: 大石头
  • 整理日期: 2007-03-04
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

1.总体说明

四个文件
3.mdb
Conn.asp
index.asp
新生命页面开发专用v1.1.exe 后面这个可以到这里下 http://nnhy.org/NewLife/NewLifeWebServer/index.htm
两个asp文件直接复制我的代码

index.asp就是整个系统的代码

很多ASP页面都需要连接数据库,所以,我们把连接数据库用的代码都写到一个ASP文件(Conn.asp)里面去
然后需要连接数据库的ASP文件都包含这个文件  如:处理 SSI 文件时出错

conn.asp文件就是依照上次讲课时,数据库操作,所有的代码

2.建立数据库 3.mdb

我现在先建立数据库3.mdb,并在里面建立一个数据表:
ID 自动编号
UserName 字符串
PassWord 字符串
Sex 字符串
Age 整型

这里输入一行数据
UserName PassWord Sex Age
nnhy nnhy 男 22
  到这里 3.mdb 就算建好了

3.Conn.asp

下面我们来看看Conn.asp的内容
Set Conn=Server.CreateObject("ADODB.Connection")
然后建立这个对象,都大同小异的啦,数据库连接对象

DbName = "3.mdb"
Db=Server.MapPath(DbName)
好,数据库就是3.mdb,这里使用Server.MapPath得到它的物理路径, 也就是盘符开头的路径, 比如E: nhy\3.mdb

ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Db
这就是连接字符串啦,前面是Access数据驱动oledb, 后面是数据库文件(这里是3.mdb)的物理路径

Conn.open ConnStr
打开数据库连接,这里开始连接数据库, 下面准备一个关闭数据库的函数
function CloseConn()
conn.close
set conn=nothing
end function
合起来就是:
 

4.index.asp

  下面开始讲index.asp,这是在设计时,编写代码前所应该有的,要清楚我们需要什么功能 index.asp
将实现 添删改查 四个功能
我们把他们分别写成过程,同放在index.asp文件里面, 然后在index.asp前面加个Select 来转向

整个程序的框架:
处理 SSI 文件时出错



下面开始一个个加代码,做界面
先做 Main 过程的
Main过程:

 
 



Rs.Open Sql, Conn, 1, 1 首先我使用了Conn.asp中建立的Rs记录集对象,在这里通过一条查询语句Sql 打开一个记录集,返回NL_User表中所有数据,安id降序排序


然后判断记录集是否为空,也就是说,数据库是否有符合条件的数据
rs.eof的意思就是判断当前指针是否在最后一条记录之后,没有数据就是在最后一条记录之后嘛
简单一点理解rs.eof为真,就说明没有数据,书上搞得挺复杂的



     

  rs.fields.count就是取得该记录集的列的个数
rs(i).name可以取得第i列的列名,要记住的是,i要从0开始,到rs.fields.count-1止



   
 



然后就开始进入数据循环
while not rs.eof 当记录集指针没有到最后一条之后,就执行 这里也用了一个和上面一样的for,只是,它用rs(i)而不用rs(i).name,rs(i)就是取得指针所在行第i列的数据
那么
rs(0).name就等于"id"
rs(1).name就等于"UserName"
rs(2).name就等于"PassWord"
rs(3).name就等于"Sex"
rs(4).name就等于"Age"

指针一开始是在记录集的第一行的
一个for,把第一行数据显示完以后
来一个rs.movenext把指针移到下一行
while not rs.eof 判断一下现在指针是不是到了最后一行之后了,如果到了最后一行之后,就是没数据了,不用循环了

(未完,待续)

继续ASP实例讲座,我们前天讲了如何显示一个数据表的数据

大家可以从这里看到昨天的程序的效果
http://nnhy.org/aspstudy/3/
下面开始建立一个表单,用来添加数据和修改数据,大家请稍后











姓名:


密码:


性别:


年龄:





 

表单做好了,我们对上面显示数据的表格稍作修改,在每条信息的后面加上修改的连接,点击连接后,下面的表单中显示对应的数据供修改

    ">修改

不带文件名他就是提交给当前文件处理

Sub Add()
sql = "select * from NL_User"
rs.open sql, conn, 1, 3
rs.addnew
rs("UserName") = request("txtUserName")
rs("PassWord") = request("txtPassWord")
rs("Sex") = request("txtSex")
rs("Age") = CInt(request("txtAge"))
rs.update
rs.close
End Sub

http://nnhy.org/aspstudy/3/
大家可以从这里看到效果
下面讲解


添加表单的Action这里,没有指定目标文件,asp将使用默认的,就是本asp文件作为目标


这里提交了一个Act=Edit告诉asp下一步是执行Edit过程

Act=Add就是提交一个名为Act,值为Add的参数
和我前面使用的下面这个对应
Select Case Request("Act")
Case "Add"
Add()
Main()
Case "Edit"
也就是说,如果Act是Add,则调用Add方法后再调用Main

Sub Add()
sql = "select * from NL_User"
rs.open sql, conn, 1, 3
rs.addnew
rs("UserName") = request("txtUserName")
rs("PassWord") = request("txtPassWord")
rs("Sex") = request("txtSex")
rs("Age") = CInt(request("txtAge"))
rs.update
rs.close
End Sub
这个过程里面,首先打开一个可写记录集,13代表可写
其次,使用addnew方法添加一条新记录
接着用request接收数据,再把数据写入到rs记录集对应的列中
最后不要忘了rs.update这时才真正的把数据写入数据库

下面讲修改表单


     

    ">修改

每一行后面加上
    ">修改
就是点击对应行后面的修改连接后,向本asp提交名为id,值为对应行id值的参数,然后后面检查发现有这个id就是用于修改,于是把这行数据显示到表单中


">

姓名:
" />


密码:
" />


性别:
" />


年龄:
" />





 

 

大家看看Edit过程:
Sub Edit()
sql = "select * from NL_User where id=" & request("id")
rs.open sql, conn, 1, 3
if rs.eof then exit sub
rs("UserName") = request("txtUserName")
rs("PassWord") = request("txtPassWord")
rs("Sex") = request("txtSex")
rs("Age") = CInt(request("txtAge"))
rs.update
rs.close
End Sub

可以看到Edit过程和Add过程的区别,就是在查询SQL的时候,多了一个where条件,只获取一条记录,因为我们只需要修改这一条记录嘛
Edit过程还比Add过程少了一个rs.AddNew,千万不要加哦,要不,修改数据就会变成添加数据了

下面就剩下最后一项删除功能了
同样原理,我们在每一行后面加上一个删除的连接

    ">删除

Act表明,下一步执行Del过程
接着写Del过程
Sub Del()
conn.execute "delete from NL_User where id=" & request("id")
End Sub

(完)

~源码下载 dashitoucode.rar

上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号