月度存档: 3月 2007

[ASP] 在JScript中使用RecordSet对象的GetRows方法

写ASP程序时,一般情况总是使用的VBScript,不过也不只是这一种选择,也可以用JScript。但在用JScript作为ASP的语言时,比用VBScript有一些小小的不方便,比如RecordSet的GetRows方法。

在ASP中操作数据库,一般都要用到RecordSet对象,如果注重程序效率的话,可能就会用到RecordSet对象的GetRows方法,把记录集对象转换成数组,而操作数组在速度上将比用RecordSet对象的MoveNext方法快很多,而且可以在取出数组后尽早释放RecordSet对象,从而减少资源的占用,这也是优化ASP性能的一个方法。

在VBScript里,用RecordSet.GetRows方法取到的是一个二维数组,里面的数据可以通过遍历数组的方式来取得。

假设现在有一个数据库,其中有一个表名为mytable,有3个字段,名称分别为id,first,second。

  • ' code by xujiwei
  • http://www.xujiwei.cn/
  • ' 定义变量
  • Dim conn,rs,data,recN,i
  • ' 连接数据库
  • Set conn=Server.CreateObject("ADODB.Connection")
  • conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &_
  • Server.MapPath("data.mdb")
  • ' 获取记录集
  • Set rs=conn.Execute("SELECT id,first,second FROM mytable")
  • ' 获取数据数组
  • data=rs.GetRows()
  • ' 关闭记录集,释放对象
  • rs.Close()
  • Set rs=Nothing
  • ' 获取记录数
  • recN=UBound(data,2)
  • ' 循环输出数据
  • For i=0 To 


阅读全文 »

用好HoeKey:用快捷键控制iTunes

用 Apple 的 iTunes 听歌很长时间了,特别喜欢它的保存音乐文件夹有序这个功能,这样我就不用愁添加mp3的时候再去管理文件夹了,以前用Winamp时就没有这个功能。

但是有一点,Winamp可以设置全局快捷键,可以让我在不打开播放器窗口的情况下控制mp3的播放,而iTunes就没有。于是用了这么长时间iTunes,一直是在托盘图标的菜单点控制mp3的播放。但是前些天在做东西的时候突然想到怎么去控制iTunes的播放,于是用Spy++截取了一下在iTunes窗口里用应用程序级快捷键控制播放时所用的消息,得到参数,然后又想到HoeKey可以自定义消息快捷键,于是就改了一下配置文件,使HoeKey能控制iTunes播放。

在iTunes窗口里,可以用Ctrl+→来播放下一首,Ctrl+←来播放上一首,使用空格键来暂停和开始播放,而使用的消息分别是WM_KEYDOWN和WM_CHAR。

于是,可以在HoeKey的配置文件中加入以下行:

~Z=Msg|iTunes|256|37|19202049    ; iTunes - Prev
~X=Msg|iTunes|256|39|19333121    ; iTunes - Next
~32=Msg|iTunes|258|32|18874369    ; iTunes - Pause

其中,~ 在HoeKey中对应的是 Win 键,Z 和 X 分别对应相应的字母键,而32对应的则是空格键,256和258分别是 WM_KEYDOWN 和 WM_CHAR 的值,后面跟的两个数字是参数,表示按下的键及控制键状态,这里不详细说,具体可以查阅MSDN。

那么,加了这些配置之后,就可以使用 Win+Z 让 iTunes 播放上一首歌,Win+X 播放下一首歌,以及使用 Win+空格 来控制暂停和播放了。