1 打开数据库的游标类型 3 这个参数这里 如果改为1的话 就不能对库进行操作,不能更新和删除(不能使用Rs.Addnew,Rs.Update,Rs.Delete) 改为2 以独占的形式打开(当有一个用户在修改库的时候,就会锁定库,保持数据的一致性) 3 可以对库进去任何操作,包括删除、修改、更新、添加。 这里一般我会用两种:在列表页的时候,因为不用操作库,只读查询就行了 Rs.Open Sql,Conn,1,1 ;在添加修改数据的时候,用Rs.Open Sql,Conn,1,3 Rs.Bof 是否为第一条数据,“是”返回 True 反之,返回False 。Rs.Fof 是否为最后一条数据,“是”返回 True 。反之,返回False 。那就可以用这个来判断数据库里有没有记录 if rs.eof and rs.bof then 就是说当前游标 不在第一条也不在最后一条,就说明没有记录。if rs.eof then 这样说明有记录,那么我们就用个循环把数据输出 Rs和Conn一样理解,是变量
Set Rs = Server.CreateObject("Adodb.Recordset") Rs.Open Sql,Conn,1,1 If Not Rs.Eof Then 如果不在记录集的未端,说明有记录 Do While Not Rs.Eof 直到该记录集的最后 跳出循环 Response.Write Rs("字段名") Rs.MoveNext 游标向下移动 Loop End If Rs.Close //注销对象 Set Rs = Nothing //释放资源
因为asp是弱类型的 定量对象时不用定义类型 如果是C# 就是 int i; string str; asp 就 dim i,str 还有asp定义变量不能赋初始值
讲asp分页的几个方法属性 Rs.Pagesize = n 每页显示N条数据 Rs.absolutepage = n 将记录指针移动第N页的第一条数据 Rs.RecordCount 记录集的总记录数 Rs.PageCount 记录集的总页数
<% Dim Conn,ConnStr Set Conn = Server.CreateObject("Adodb.Connection") ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.Mappath("Date.mdb") Conn.Open ConnStr
Set Rs = Server.CreateObject("Adodb.Recordset") Rs.Open Sql,Conn,1,1 PageSize = 20 Rs.PageSize = PageSize '每页显示20条 curpage = Request.QueryString("Page") '得到当前页数 If curpage = "" Or IsNumeric(curpage) Or (curpage-Rs.pagecount) > 0 Then '如果curpage等于空 或者 不是数值类型 或者 curpage大于总数 curpage = 1 '那么curpage等于1 End If Rs.absolutepage = curpage '设置当前记录集页面 i = 1 If Not Rs.Eof Then 如果不在记录集的未端,说明有记录 Do While Not Rs.Eof and i < PageSize 如果已经是数据集的最后一条记录 或者 i已经大于 Rs.PageSize 就退出 Response.Write Rs("字段名") i = i + 1 每循环一次 i + 1 Rs.MoveNext 指针向下移动 Loop End If %>
Set Rs = Server.CreateObject("Adodb.Recordset") Sql = "Select * From Tealename Where id = 1" '修改id为1的数据 Rs.Open Sql,Conn,1,3 Rs("欲更新的字段名1") = 更新后的值1 Rs.Update() 将修改更新到数据库内 Rs.Close Set Rs = Nothing Rs.Delete 删除
Set Rs = Server.CreateObject("Adodb.Recordset") Sql = "Select * From Tealename Where id = 1" '删除id为1的数据 Rs.Open Sql,Conn,1,3 Rs.Delete() '删除当前记录,但指针不会向下移动,所有如果要删除多条数据的时候,要用到循环。 Rs.Close Set Rs = Nothing