中易网

怎么把注册页面的信息连接数据库?

答案:1  悬赏:70  
解决时间 2021-02-10 08:09
怎么把注册页面的信息连接数据库?
最佳答案
一般来说,一个真正的、完整的站点是离不开数据库的,因为实际应用中,需要保存的数据很多,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。数据库有很多种,如:Fox 数据库(.dbf)、Access 数据库(.mdb)、Informix、Oracle 和 SQL Server 等等,在这里,我将以 Microsoft Access 数据库为例来说明ASP是如何访问数据库的。

常用数据库语句

1.SELECt 语句:命令数据库引擎从数据库里返回信息,作为一组记录。
2.INSERT INTO 语句:添加一个或多个记录至一个表。
3.UPDATE 语句:创建更新查询来改变基于特定准则的指定表中的字段值。
4.DELETE 语句:创建一个删除查询把记录从 FROM 子句列出并符合 WHERe 子句的一个或更多的表中清除。
5.EXECUTE 语句:用于激活 PROCEDURE(过程)

用 ASP 来做一个自己的通讯录练练手吧……

一、建立数据库:

用 Microsoft Access 建立一个名为 data.mdb 的空数据库,使用设计器创建一个新表。输入以下几个字段:

字段名称 数据类型 说明 其它
ID 自动编号 数据标识 字段大小:长整型 新值:递增 索引:有(无重复)
username 文本 姓名 缺省值
usermail 文本 E-mail 缺省值
view 数字 查看次数 字段大小:长整型 默认值:0 索引:无
indate 时间日期 加入时间 缺省值

保存为 data.mdb 文件,为了便于说明,只是做了一个比较简单的库。

二、连接数据库

方法1:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

方法2:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")

注意:一个页面中,只要连接一次就可以了,数据库使用完后要及时关闭连接。
conn.Close
Set conn = Nothing

三、添加新记录到数据库

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

username = "风云突变"
usermail = "[email protected]"
indate = Now()

sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"
conn.Execute(sql)

conn.Close
Set conn = Nothing

说明:建立数据库连接;通过表单获取姓名、E-mail 字符串,Now()获取当前时间日期;使用 insert into 语句添加新记录;conn.Execute 来执行;最后关闭。

四、选择数据库里的记录

1.选择所有记录的字段(按记录倒序排序):sql = "select * from data order by ID desc"
2.选择所有记录的姓名和E-mail字段(不排序):sql = "select username,usermail from data"
3.选择姓名为“风云突变”的所有记录:sql = "select * from data where username='"风云突变"'"
4.选择使用 163 信箱的所有记录(按查看次数排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc"
5.选择最新的10个记录:sql = "select top 10 * from data order by ID desc"

SQL 语句已经知道了,不过在Web应用时,还得创建一个 RecordSet 对象得到记录集,才能把从数据库里取出的值应用在网页上,如果现在将所有的记录显示在网页上就这样:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

sql = "select * from data"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1

Do While Not rs.Eof
Response.Write "
姓名:"& rs("username") &" E-mail:"& rs("usermail") &" 查看:"& rs("view") &"次 "& rs("indate") &"加入

"
rs.MoveNext
Loop

rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing

说明:建立数据库连接;创建 rs 得到记录集;循环显示记录,rs.Eof 表示记录末,rs.MoveNext 表示移到下一个记录;最后关闭。

五、修改(更新)数据库记录

修改记录的E-mail:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

ID = 1
usermail = "[email protected]"

sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
conn.Execute(sql)

conn.Close
Set conn = Nothing

说明:建立数据库连接;获取记录ID、新 E-mail 字符串;使用 update 语句修改记录;conn.Execute 来执行;最后关闭。
如果使记录的查看值加1,则:sql = "update data set view=view+1 where ID="&CInt(ID)

六、删除数据库记录

删除某一条记录:

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

ID = 1

sql = "delete from data where ID="&CInt(ID)
conn.Execute(sql)

conn.Close
Set conn = Nothing

说明:建立数据库连接;获取记录ID;使用 delete 语句删除记录;conn.Execute 来执行;最后关闭。
删除多条记录为:sql = "delete from data where ID in (ID1,ID2,ID3)"
删除所有记录为:sql = "delete from data"
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
铜在显+1价和+2价时的电子层排布
紫金县文化市场综合执法队这个地址在什么地方
一支笔跟一只针组成什么样的成语
小时候小霸王学习机玩的三国
恒隆二手车行地址有知道的么?有点事想过去
农场何垛分场在哪里啊,我有事要去这个地方
鸣人的九尾被班扯出来了吗,不然咋来的十尾
阿克伯格尔地址有知道的么?有点事想过去
年纪比自己小年级比自己低的同学该叫自己什么
我是一个商人,别人要我做防盗网,我做了,也
发展旅游产业对国家的重要意义
青岛星海湾度假公寓那鲁湾店地址在什么地方,
崔家庄村村民委员会地址有知道的么?有点事想
阳台假山鱼池在什么位置好
开通水星一号,买股票没成交为何总资金少了
推荐资讯
盛丰园酒店(解放东路店)这个地址在什么地方,
买个捷安特的折叠自行车,选了2种,大家说说
企鹅媒体平台审核完了还是试运营
一辆向东匀速行驶的大客车,突然左转。转弯时
为什么男人叫女人回到家发信息给他?
我的电脑显示不出内存卡 但右下角显示找到磁
雅阁橱柜在什么地方啊,我要过去处理事情
景富模具五金商行在什么地方啊,我要过去处理
连云港地生会考成绩查询
顺丰速运(乌审旗第一营业部)在哪里啊,我有事
振动方向不同的波能干涉吗? 同频相位差相同
厦门火车站到软件园二期怎么走
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?