数据库操作实训_实例讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
添加新闻实现页面
<%
dim var_title,var_content,var_category,var_author,var_pubtime ‘ 获取表单中的变量值 获取表单中的变量值; var_title=request("title") var_content=request("content_hid") var_category=request("category") var_author=request("author") var_pubtime=request("pubtime") if not isdate(var_pubtime) then response.write("<script language=javascript>alert('时间格 时间格 式不正确! 式不正确!');history.go(-1);</script>") response.end end if
• 在表格行结束(</tr>)后加入记录集移动、 在表格行结束( )后加入记录集移动、 继续循环的代码: 继续循环的代码: <% rs.movenext wend %>
往记录集对象中添加新记录的方法 插入新数据行
<% var_category=request(“category”) var_remark=request(“remark”) set rs=server.CreateObject("adodb.recordset") rs.open "select * from categorytable ",cnn,1,3 rs.addnew rs("category")=var_category rs("remark")=var_remark rs.Update %>
Recordset类型 类型
• Recordset类型:指结果集中的读写属性有四种值 AdopenForward:只读,只向前,数值为0 AdopenForward:只读,只向前,数值为0; 只读 只读,当前记录指针可前后移动,值为3 AdopenStatic: 只读,当前记录指针可前后移动,值为3; AdopenKeyset: 读写,当前记录指针可前后移动,值为1; 读写,当前记录指针可前后移动,值为1 读写,当前记录指针可前后移动,值为2 AdopenDynamic: 读写,当前记录指针可前后移动,值为2; AdopenKeyset与AdopenDynamic的区别在于使用前者将无法查 AdopenKeyset与AdopenDynamic的区别在于使用前者将无法查 看到其它用户对数据的更改, 看到其它用户对数据的更改,而后者可查看到其它用户对数 据的更改。 据的更改。
行结尾处增加
<% rs.movenext wend %>
修改类别实现代码
<!-- #include file="./conn/conn.asp"--> <% dim var_id,var_category,var_remark var_id=request("id") var_category=request("category") var_remark=request("remark") set rs=server.createobject("adodb.recordset") rs.open "select * from categorytable where id="+var_id,cnn,1,3 rs("category")=var_category rs("remark")=var_remark rs.update response.redirect "edit_category.asp" %>
response.write("连接数据库成功!") 连接数据库成功! 连接数据库成功
%>
• 一般单独建立一个文件夹 一般单独建立一个文件夹conn,在其下建立 在其下建立 一个conn.asp的文件 在需要的页面中使用 的文件,在需要的页面中使用 一个 的文件 包含语句将其导入即可. 包含语句将其导入即可 • <!--#include file="./conn/conn.asp"-->
行循环开始处加入代码
<% set rs=server.createobject("adodb.recordset") sql="select * from categorytable " rs.open sql,cnn,1,3 while not rs.eof %>
每行类别内容显示
<tr> <form name="form1" method="post" action="edit_category_do.asp"> <td><%=rs("id")%><input type="hidden" name="id" value="<%=rs("id")%>"></td> <td><input type="text" name="category" value="<%=rs("category")%>"></td> <td><textarea rows="2" name="remark" ><%=rs("remark")%></textarea></td> <td> <input type="submit" name="ok" value="修改 onClick="return 修改" 修改 check_form()"> <a href="del_category_do.asp?id=<%=rs("id")%>" onClick="return del_confirm()">删除 删除</a></td> 删除 </form> </tr>
添加新闻页面
• 添加新闻页面中类别下拉列表框中的值来源于 categorytable ,其代码为 其代码为: 其代码为
<select name="category" size="1" id="category"> <% set rs=server.createobject("adodb.recordset") sql="select * from categorytable " rs.open sql,cnn,1,3 while not rs.EOF %> <option value="<%=rs("category")%>"><%=rs("category")%> </option> <% rs.movenext wend %> </select>
ASP程序操纵后台数据库步骤 程序操纵后台数据库步骤
• 连接数据库 连接数据库; • 构造SQL语句 语句 构造 (插入、删除、修改语句和查询语句 ; 插入、 插入 删除、修改语句和查询语句); • 执行语句。 执行语句。
增加新闻类别页面介绍
• 连接数据库 • 构造插入语句 • 执行插入语句
ASP连接后台数据库代码 连接后台数据库代码
构造插入语句
• insert into 表名 列名列表 values(值列表 表名(列名列表 列名列表) 值列表) 值列表 • 此语句中变化的是值!(由用户输入的内容) 此语句中变化的是值!(由用户输入的内容) !(由用户输入的内容 • Insert into categorytable(category,remark) values (‘?’,’?’)。 。 • 其中第一个问号的内容来源于变量 其中第一个问号的内容来源于变量var_category, 第二个问号的内容来源于变量var_remark。 第二个问号的内容来源于变量 。 • Ins_str=“Insert into categorytable(category,remark) values(‘” & var_remark & “’,’” & var_remark & “’)”
修改类别页面介绍
• 以记录集的方式读入所有类别信息 以记录集的方式读入所有类别信息; • 以表格的方式显示,每行类别信息加入一个 以表格的方式显示 每行类别信息加入一个 表单,其中的类别名称和类别说明可编辑 其中的类别名称和类别说明可编辑,即 表单 其中的类别名称和类别说明可编辑 即 单元格中加入文本框,最后加入修改提交按 单元格中加入文本框 最后加入修改提交按 钮和删除超链接; 钮和删除超链接 • 编号栏中需要增加一个隐藏类别的文本栏, 编号栏中需要增加一个隐藏类别的文本栏 以传递编号信息进行修改和删除操作. 以传递编号信息进行修改和删除操作
广东理工职业学院软件技术专业
数据库操作实训
主讲: 主讲:贺桂英副教授 E-mail:gyhe@gdrtvu.edu.cn
ASP页面书写过程 页面书写过程
• 首先用 首先用Dreamweaver制作静态界面 制作静态界面; 制作静态界面 • 加入客户端代码(JavaScript),用于检查或 用于检查或 加入客户端代码 验证客户端输入数据的正确性; 验证客户端输入数据的正确性 • 加ASP代码进行数据库的查询、插入、删 代码进行数据库的查询、 代码进行数据库的查询 插入、 修改等操作。 除、修改等操作。
保守式 adLockPessimistic
开放式 adLockOptimistic
开放式 adLockBattchOptimis 批处理 tic
将所有Hale Waihona Puke Baidu闻类别显示在表格中
• 在表格行开始前加入代码: 在表格行开始前加入代码: <% set rs=server.createobject("adodb.recordset") sql="select * from categorytable " rs.open sql,cnn,1,3 while not rs.eof %> • 在表格单元格中显示当前记录行的内容: 在表格单元格中显示当前记录行的内容: <%=rs(“id”)%>,<%=rs("category")%> , <%=rs("remark")%>
执行插入语句
• Cnn.execute(Ins_str)
记录集对象RecordSet 记录集对象
• 下面的语句将创建并打开一个 下面的语句将创建并打开一个Recordset对象: 对象: 对象
<% Set rs=Server.CreateObject(“ADODB.Recordset) = rs.Open Sql查询语句,connection对象名,Recordset类型,锁定类型 Sql查询语句 查询语句,connection对象名 对象名,Recordset类型 类型,锁定类型 %> • Recordset类型一般取值为 类型一般取值为1; 类型一般取值为 • 锁定类型一般取值为3。 锁定类型一般取值为 。
删除类别实现代码
<!--#include file=./conn/conn.asp--> <% dim var_id var_id=request("id") cnn.execute("delete from categorytable where id="+var_id) response.redirect "edit_category.asp" %>
<% dim cnn ,cnnstr cnnstr=“Provider=SQLOLEDB;uid=用户名 用户名; 用户名 pwd=密码 密码;database=数据库名 数据库名;server=服务器名称 服务器名称" 密码 数据库名 服务器名称 set cnn=server.createobject("ADODB.CONNECTION") cnn.open cnnstr
锁定类型
类型
只读
常量
adLockReadOnly
值 1 2 3 4
说明
默认锁定类型, 默认锁定类型,以只读方式打开 Recordset对象时,不能改变数据 对象时, 对象时 当编辑时立即锁定记录,这是最安 当编辑时立即锁定记录, 全的方式。 全的方式。 只有调用Update方法时才锁定记录, 方法时才锁定记录, 只有调用 方法时才锁定记录 而在此之前其他操作仍可对当前记 录进行更改、插入和删除等。 录进行更改、插入和删除等。 当编辑时记录不会被锁定,而更改、 当编辑时记录不会被锁定,而更改、 插入和删除是在批处理方式下完成 的。