蛙蛙池塘

没有公主的蛙蛙王子

胡浩ID:onlytiancai
122356次访问,排名671好友1人,关注者1
onlytiancai的文章
原创 93 篇
翻译 0 篇
转载 22 篇
评论 117 篇
蛙蛙王子的公告
残荷听雨,梨花飞雪,落英缤纷时节。晓来谁染枫林醉?点点都是离人泪
活着,就是快乐!自信,就是美丽! 有人爱,就是幸福。

但愿野百合也有春天

最近评论
hdnero:wow power leveling
hdnero:wow power leveling
lindahou:THANK YOU VERY MUCH
mylittledog:如果我要添加http://172.20.50.11呢?
hm8030:问题2:请教:怎样让页面局部无刷新更新数据呀,xmlhttp可以发送recordset吗?

问题是这样的:我的首页上有好几处显示数据的表格,每个表示对应着服务器的一个记录集(recordset),我想让其中几个表格能够每隔30秒种更新一下数据,前提是网页的其它部分,比如说广告,图片等不用更新。
整个页面的无刷新更新和只更新某个字符串我已经做到了,现在我是想让一……
文章分类
收藏
    相册
    友情博客
    Anatoly 姐姐的博客
    Bob Beauchemin姐姐的博客
    chnking姐姐的博客
    cocosoft姐姐的博客
    donet姐姐的博客
    Eric/xin姐姐的博客
    ilqtj姐姐的博客
    JAVA姐姐的博客
    Nathan Dunlap姐姐的博客
    Sinoprise Studios姐姐的博客
    千山一鸟的博客
    土人姐姐的博客
    微软姐姐的博客
    思归姐姐的博客
    木子姐姐的博客
    笨笨姐姐的博客
    阿好姐姐的博客
    飞信美眉 飞信交友
    龙卷风姐姐的博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 蛙蛙推荐:VBS的数据库操作类,收藏

    新一篇: 蛙蛙推荐:最近学t-sql的笔记, | 旧一篇: 蛙蛙推荐:如何做一个高效的ASP数据库操作程序

    蛙蛙推荐:VBS的数据库操作类,这个类实现了平时主要的数据库操作,因为我们天天都在和数据库打交道,有时候用这样一个类也挺方便的,但是不知道实用性怎么样,因为在性能和错误处理方面没有做很多考虑,所以不知道它的通用性如何.
    如果谁能再给这个类加上动态的错误处理的或者优化一下性能,就更完美了.PS:做这个类也是为了练习一下VBS类的使用.
    <%
    class classado
     Private conn_c
     Private rs_c
     Public strconn
     Private Sub Class_Initialize'定义类的初始化事件
      Set conn_c=Server.CreateObject("ADODB.Connection")
     End Sub
     
     Private Sub Class_Terminate   ' 设置 Terminate 事件。         
      rs_c.close
      set rs_c=nothing
      conn_c.close
      set conn_c=nothing
     End Sub

     Public Function opendb()                   '打开数据库
      if isempty(strconn) then
       response.Write("<script>alert('没有设置数据库连接字符串');</script>")
       response.end
      end if
      if conn_c.state=0 then   
       conn_c.open strconn
      else
       response.Write("<script>alert('数据库已经打开了');</script>")
       response.end
      end if
     End Function

     Public Function getrs(ByVal strsql)                   '获取记录集
      if conn_c.state=0 then
       opendb()
      end if
      
      Set rs_c=Server.CreateObject("ADODB.RecordSet")
      rs_c.Open strsql,conn_c,1,1
      Set getrs=rs_c
     End Function
     Public Function exesql(ByVal strsql)                   '执行一条sql语句,用来特定的插入,更新,删除记录
      if conn_c.state=0 then
       opendb()
      end if
      conn_c.execute(strsql)
     End Function
     Public Function insertrs(myform,mytable,nostr)
      '此方法用来把表单提交的值插入到数据库
        
      '如果数据库没有打开那么打开数据库
      if conn_c.state=0 then
       opendb()
      end if

      '构建查询字符串并打开记录集
      set rs_add=server.CreateObject("adodb.recordset")
      dim add_sql
      add_sql="select * from "&mytable&""
      rs_add.open add_sql,conn_c,1,3,1 'Options类型为adCmdText
      rs_add.addnew
      
      '循环form的值并给分别给记录集赋新值
      for each x in myform
       '保证获取的值不为空,并保证一些你指定表单元素不需要给记录集赋值,比如说提交按钮
       '虽然你不需要把提交按钮传递给记录集,但它也随着表单一起给提交给服务器了,
       '要想过滤到这些不需要的表单元素,请在这个方法的第三个参数(nostr)里指定
       '参数的格式是构建一个把不需要提交的表单元素的名称用"|"隔开的字符串
       '比如说这样"submit|myabc|wawa"
       '我们这里用一个私有小函数(isno)来去除这些不需要向数据库提交的值
       if isno(nostr,x) and request.form(x)<>"" then
        
        '下面是一条测试语句,显示从表单提取元素的名称和值.
        'response.write x+"="+request.form(x)+"<br>"
        
        '判断记录集的类型,如果是数字类型(Integer,BigInt等)要把提取的值转换为数值类型
        '在这里recordset.Field.type属性是用数字来表示的,具体对应关系,请查看你机器里面的adovbs.inc文件
        '其中Integer对应这3,BigInt对应着20,我这里的判断或许不是很完美,除了3和20外还有其它的数值类型
        '所以在表单提交前请务必做一些客户端的验证,保证在需要是数值类型数据的时候让用户能正确的输入并提交
        '这样其实在服务器给记录集赋值时可以做到正确的隐式转换,不适于出现给Integer类型的记录集赋值一个不能转换为数字的字符串
        '请时刻记住,从表单提取的数据始终只字符串类型
        if (rs_add(x).type=20 or rs_add(x).type=3) then
         rs_add(x)=clng(request.form(x))
        else
         rs_add(x)=request.form(x)
        end if
       end if
      next
      
      '更新记录集,随后关闭并清空它,
      '记着在写程序的时候要尽量晚的打开对象,尽量早的关闭已经不使用的对象
      rs_add.update
      'response.write("添加成功")
      rs_add.close
      set rs_add=nothing
     end function

     Public Function updaters(myform,mysql,nostr)
      '此方法用来把表单提交的值更新到数据库
        
      if isempty(conn_c) then
       opendb()
      end if

      '构建查询字符串并打开记录集
      set rs_update=server.CreateObject("adodb.recordset")
      rs_update.open mysql,conn_c,1,3,1 'Options类型为adCmdText
      '注意这里不需要rs_update.addnew
      
      '循环form的值并给分别给记录集赋新值
      for each x in myform
       if isno(nostr,x) and request.form(x)<>"" then
        'response.write x+"="+request.form(x)+"<br>"
        if (rs_update(x).type=20 or rs_update(x).type=3) then
         rs_update(x)=clng(request.form(x))
        else
         rs_update(x)=request.form(x)
        end if
       end if
      next
      rs_update.update
      'response.write("修改成功")
      rs_update.close
      set rs_update=nothing
     end function
     private function isno(s1,s2)
      dim arr
      arr=split(s1,"|")
      isno=true
      for each i in arr
       if s2=i then isno=false
      next
     end function
    end class
    %>

    举个例子来看看这个类怎么用

    <!--#include file="ado_cls.asp" -->
    <%
    strconn="Driver={sql server};server=192.168.0.110;database=new;uid=sa;pwd=sa;"
    set c=new classado
    c.strconn=strconn
    c.opendb()
    select case trim(request.Form("active"))
     case "New" 
      c.insertrs request.form,"qy_ml","submit4|sign|active"
      response.write("<script>alert('添加成功');</script>")
     case "edit"
      dim editsql
      editsql="select * from qy_ml where qy_ml_id="&request("id")&""
      c.updaters request.form,editsql,"submit4|sign|active"
      response.write("<script>alert('修改成功');</script>")
     case ""
      strsql="select * from qy_ml"
      set r=c.getrs(strsql)
      if not(r.bof and r.eof) then
       arr_wawa=r.getrows()
      end if
    end select
    %>
    <table width="100%" border="1" cellspacing="1">
    <% If not isempty(arr_wawa) Then %>
    <% for i=0 to ubound(arr_wawa,2) %>
    <tr>
    <% for j=0 to ubound(arr_wawa,1) %>
    <td><%= arr_wawa(j,i) %></td>
    <% next %>
    </tr>
    <% next %>
    <% Else %>
    <tr>
    <td>没有记录</td>
    </tr>
    <% End If %>
    </table>

    发表于 @ 2004年07月23日 15:07:00|评论(loading...)|编辑

    新一篇: 蛙蛙推荐:最近学t-sql的笔记, | 旧一篇: 蛙蛙推荐:如何做一个高效的ASP数据库操作程序

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 蛙蛙王子