
数据库是相关数据的集合,一个数据库含有各种成分,包括表、记录、字段、索引等。
1.数据库(Database)
Visual Basic中使用的数据库是关系型数据库(Relational Database)。一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对应的方式也不一样。对于dBASE,FoxPro和Paradox格式的数据库来说,一个数据表就是一个单独的数据库文件,而对于Microsoft Access、Btrieve格式的数据库来说,一个数据库文件可以含有多个数据表。
2.数据表(Table)
简称表,由一组数据记录组成,数据库中的数据是以表为单位进行组织的。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。表实际上是一个二维表格,例如,一个班所有学生的考试成绩,可以存放在一个表中,表中的每一行对应一个学生,这一行包括学生的学号,姓名及各门课程成绩。
3.记录(Record)
表中的每一行称为一个记录,它由若干个字段组成。
4.字段(Field)
也称域。表中的每一列称为一个字段。每个字段都有相应的描述信息,如数据类型、数据宽度等。
5.索引(Index)
为了提高访问数据库的效率,可以对数据库使用索引。当数据库较大时,为了查找指定的记录,则使用索引和不使用索引的效率有很大差别。索引实际上是一种特殊类型的表,其中含有关键字段的值(由用户定义)和指向实际记录位置的指针,这些值和指针按照特定的顺序(也由用户定义)存储,从而可以以较快的速度查找到所需要的数据记录。
6.查询(Query)
一条SQL(结构化查询语言)命令,用来从一个或多个表中获取一组指定的记录,或者对某个表执行指定的 *** 作。当从数据库中读取数据时,往往希望读出的数据符合某些条件,并且能按某个字段排序。使用SQL,可以使这一 *** 作容易实现而且更加有效。SQL是非过程化语言(有人称为第四代语言),在用它查找指定的记录时,只需指出做什么,不必说明如何做。每个语句可以看作是一个查询(query),根据这个查询,可以得到需要的查询结果。
建表aa:CREATE TABLE [dbo].[aa] (
[Aa1] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL ,
[Aa2] [int] NULL ,
[Aa3] [dec](10,2) NULL
) ON [PRIMARY]
建表bb:
CREATE TABLE [dbo].[bb] (
[Bb1] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL ,
[Bb2] [int] NULL ,
[Bb3] [dec](6,2) NULL
) ON [PRIMARY]
删除表aa:
drop table aa
修改表bb,添加一个字段Bb4,类型Varchar,长度20:
alter table bb ADD Bb4 VARCHAR(20) NULL
对表Bb的Bb1和Bb4建立一个视图Viewbb,字段名为Viewbb1和Viewbb2:
CREATE VIEW viewbb
AS
SELECT Bb1 as viewbb1 ,Bb4 as viewbb2 from bb
删除视图Viewbb:
drop VIEW viewbb
对表Bb的Bb3字段建立一个升序索引,索引名Indexbb:
CREATE INDEX indexbb ON bb (Bb3 asc)
删除索引Indexbb:
drop INDEX indexbb
小子你刚学ASP找个高手20分想要人家帮你搞定。低估了点吧,,看看我的给你个初学源码?在加点分下次有不懂的找我。。哈哈!!asp对access数据库中数据的添加、修改、删除(已测试
1:首先建立一个access数据库保存为 xhnew.mdb 表名为aa
字段如下:
id 自动排序
name 文本
content 文本
xhtime 日期 默认值 now()
title 文本
2:打开DW 建立文件conn.asp文件
代码如下:
程序代码
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)}dbq="&server.mappath("xhnew.mdb")
%>
这段语句是连接数据库的语句 set conn=server.createobject("adodb.connection")创建一个connection对象 用该对象的open方法打开数据库
driver={microsoft access driver (*.mdb)}这句语句是access的驱动
dbq="&server.mappath("xhnew.mdb")这句是数据库的路径
建立conn.asp是为了方便接下来的教学。。。
我们可以任何要用到打开数据库连接的文件里加
<!--#include file="conn.asp"-->就可以调用
是不是很方便。第一个小时就学这么多。。。当你弄明白上面的数据库还有代码后。。
就继续跟着我学吧!
(第2个小时)
现在来学把数据库的信息输出来
下面先建立一个主文件index.asp
代码如下
程序代码
<!--#include file="conn.asp"-->
<%
exec="select * from aa order by id desc "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<table width="628" height="24" border="1" align="center" cellpadding="1" cellspacing="0">
<%
if rs.eof and rs.bof then
response.write("暂时没有文章")
else
do while not rs.eof
%>
<tr>
<td width="66" height="22" ><%=rs("id")%></td>
<td width="66" ><%=rs("name")%></td>
<td width="66" ><%=rs("content")%></td>
<td width="273" ><%=rs("xhtime")%></td>
<td width="53" ><%=rs("title")%></td>
<td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td>
<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>
</tr>
<%
rs.movenext
loop
end if
%>
</table>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
<td><a href="add.asp">添加</a></td>
代码解释:
(1)<%
exec="select * from aa order by id desc "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
上面的代码是创建一个recordset对象。。该对象是用来打开数据库中的表的。。也就是打开aa
exec="select * from aa order by id desc " 这句的意思是查找表aa中所有信息并倒序排列
信息. *号表示aa中所有的信息 order by id 就是aa中id字段 desc 是倒序的意思
rs.open exec,conn,1,1 这句话的意思是用recordset对象来打开conn中的表
(2)
<%
if rs.eof and rs.bof then
response.write("暂时没有文章")
else
do while not rs.eof
%>
上面是if语句。。if else语句是相当重要的。。
希望一些初学者要认真的研究一下if else语句。。不可心急。基础才是硬道理
rs.eof 的意思是aa表中的最后一条记录 那么rs.bof就是第一条记录
整个语句用中文翻译就是 当aa表中的最后和最前一条信息没有的时候。。就输出暂时没有文章
或则就循环到eof最后一条信息。。
(3)<tr>
<td width="66" height="22" ><%=rs("id")%></td>
<td width="66" ><%=rs("name")%></td>
<td width="66" ><%=rs("content")%></td>
<td width="273" ><%=rs("xhtime")%></td>
<td width="53" ><%=rs("title")%></td>
<td><a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a></td>
<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>
</tr>
上面的代码比较容易理解。。<%=rs("id")%>这个用法是输出数据库字段id..
<a href="modify.asp?id=<%=rs("id")%>" target="_self">编辑</a>这段很重要。。
我来解释一下。。在ie窗口点 编辑 的时候。。页面会跳转到modify.asp的文件里的id
并进行相应的处理。。这里很难解释清楚。。在接下来的例子中再慢慢解说
(4)
<%
rs.movenext
loop
end if
%>
这句是循环结束的语句
rs.movenext 这句是游标向下指的意思
(5)
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
这句是关闭数据库的语句
用完数据库后要记得关闭数据库。。以免占用资源
养成随手关门的好习惯
就学到这里。。好好消化上面的代码。。心急吃不了热豆腐。。
一步一个脚印最塌实
(第3个小时)
现在来学添加数据到数据库 需要两个文件来实现
(1)先建立一个提交表单add.asp
代码如下:
程序代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<form name="form1" method="post" action="add_new.asp">
名字 <input type="text" name="name"><br>
备注 <input type="text" name="content"><br>
题目<input type="text" name="title" ><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
</body>
</html>
上面代码要注意的是action="add_new.asp"提交到add_new.asp文件
还有name="name" name="content" name="title" 名字要对应
(2)处理文件add_new.asp
代码如下:
程序代码
<!--#include file="conn.asp"-->
<%
name=request.form("name")
content=request.form("content")
title=request.form("title")
exec="insert into aa(name,content,title) values('"+name+"','"+content+"','"+title+"')"
conn.execute exec
conn.close
set conn=nothing
response.redirect "index.asp"
%>
代码解释:
(1)
name=request.form("name")
content=request.form("content")
title=request.form("title")
这三句语句是接收add.asp发来的信息。。request.form("name")就是对应add.asp中的name="name"
(2)
exec="insert into aa(name,content,title) values('"+name+"','"+content+"','"+title+"')"
conn.execute exec
上面的语句是数据库插如信息的语句
insert into aa(name,content,title) 中文意思是插入信息对应aa表中的三个字段
三个字段的数值是values('"+name+"','"+content+"','"+title+"') 这里面对应的值是
这三句语句
name=request.form("name")
content=request.form("content")
title=request.form("title")
传递的
(3)
conn.close
set conn=nothing
response.redirect "index.asp"
关闭数据库。。写如成功后自动转页面到index.asp
到这里相信你已经学会如何添加新记录到数据库了。。
那就跟着我接着学吧。。。
ASP基础实例教程之五个小时学会Asp连接access添加,删除,修改四
(第4个小时)
接下来我们来学删除数据库信息。。。
删除信息比较简单。。只需要一个文件del.asp
代码如下:
程序代码
<!--#include file="conn.asp"-->
<%
exec="delete * from aa where id="&request.querystring("id")
conn.execute exec
conn.close
set conn=nothing
response.redirect "index.asp"
%>
代码解释:
exec="delete * from aa where id="&request.querystring("id")
conn.execute exec
先翻译成中文意思
删除表aa中id字段的值。。这个值等于="&request.querystring("id")
还记得我们建立index.asp文件的时候吗?里面有段语句是这样的
<td width="32" ><a href="del.asp?id=<%=rs("id")%>">删除</a></td>
大家现在看明白了吧!你们这么聪明。。一定明白了。
我再补充说两句
当我们点击删除的时候。。。这个时候就会连接到del.asp做处理。。
而同时del.asp接收到我们的请求是通过"&request.querystring("id")这句语句
然后conn.execute exec 这条语句就执行删除。。
整个流程就是这样。。。
希望学习的人好好弄清楚。。那样我们才可以继续学习修改
(第5个小时)
现在学习数据的修改。 这是难点。。大家要认真的跟着我学。。
本人也是看了很久才学会的。。解释的不好多多包容。。
修改需要两个文件
(一)建立modify.asp 和del.asp很像似
代码如下:
程序代码
<!--#include file="conn.asp"-->
<%
exec="select * from aa where id="&request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
<form name="form1" method="post" action="modifysave.asp">
<table width="748" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>name</td>
<td>content</td>
<td>title</td>
</tr>
<tr>
<td>
<input type="text" name="name" value="<%=rs("name")%>">
</td>
<td>
<input type="text" name="content" value="<%=rs("content")%>">
</td>
<td><input type="text" name="title" value="<%=rs("title")%>">
<input type="submit" name="Submit" value="提交">
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
</td>
</tr>
</table>
</form>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
代码解释:
(1)
<%
exec="select * from aa where id="&request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>
这句exec="select * from aa where id="&request.querystring("id")我在del.asp里解释过了
在这里也是一样的道理
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
上面是用recordset对象打开数据表。。。
(2)
<input type="text" name="name" value="<%=rs("name")%>">
这里要注意名字要对应。。否则或出错。。
<input type="hidden" name="id" value="<%=request.querystring("id")%>">
这里是隐藏表单。。。提交隐藏的表单元素会随着表单一起提交,用于传递变量
(二)建立modifysave.asp 文件
代码如下:
程序代码
<!--#include file="conn.asp"-->
<%
exec="select * from aa where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
%>
<%
rs("name")=request.form("name")
rs("content")=request.form("content")
rs("title")=request.form("title")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.redirect"index.asp"
%>
代码解释:
(1)
rs("name")=request.form("name")
rs("content")=request.form("content")
rs("title")=request.form("title")
这三句话的意思是数据库中的rs("name")的值等于接收到request.form("name")的值
request.form("name")的值是从modify.asp传递来的。。
(2)
rs.update 这句语句是更新数据库里的信息的意思 就是把提交的信息上传到数据库
aspAsp连接access添加,删除,修改已经都教完了
许多大的系统如新闻发布系统都是在这个基础上建立的
希望大家能学有所成
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)