在flash cs5中目前来看,as3代码中使用parent访问父对象是返回的是obj类型,要使用父级对象的属性或者方法的时候,需要强制转换一下类型。

错误的访问方式:trace(this.parent.somePar)    ;   trace(this.parent.userID);

正确的访问方式:trace(MovieClip(this.parent).somePar) ;  trace((this.parent as someTypeClass).userID);

 

另外一种可行的访问parent属性的方式:

var tmp=this.parent;   //用一个临时变量来偷梁换柱
trace (tmp.st);
//输出

posted @ 2011-05-26 14:41 zhangsir 阅读(18) 评论(0) 编辑

A. 别传空字符串
要么就传URL编码字符串(...aspx?id=123&  这样就报错),要么啥也别传,否则:

Error: Error #2101: 传递给 URLVariables.decode() 的字符串必须是包含名称/值对的 URL 编码的查询字符串。

B. URL编码字符串变量重名成员将被忽略
通过构造函数 或 decode传入URL编码字符串来解析时,如果遇到字符串中的变量名命名冲突,就是跟URLVariables本身已有的成员名冲突,则会无报错地忽略掉。  这个现象是有朋友在扩展URLVariables类时增加了一个数据成员,并且decode一个包含同名变量的URL编码字符串时,发现的。例如:

public var cmd:String;   

则decode("cmd=<command name>")后,从toString()检查,对象没有任何变化。

 

参考:http://uh.9ria.com/space-3875-do-blog-id-2755.html

posted @ 2011-05-22 18:57 zhangsir 阅读(63) 评论(0) 编辑
<>、使用Cookies文件进行网站访问量计数

<%@Page Debug="True"%> ‘用于调试程序时,设置断点

<html>

<head><title>应用Cookies文件的访问计数器</title></head>

<body>

<h2 align="center"><b>使用Cookies文件进行网站访问量计数</b></h2>

<asp:label id="message" runat="server"/>

</body>

</html>

<script language="VB" runat="server">

sub Page_Load(sender 
as object,e as eventargs)

    dim vNumber 
as integer '定义一个保存访问次数的变量

       dim nickname 
as string

       nickname
="王庆坤"


       If Request.Cookies(
"vNumber") Is nothing then

           vNumber
=1 '如果第一次访问本站,访问次数为1

    
else

           vNumber
=Request.Cookies("vNumber").Value+1 '否则访问次数在原来的基础上加1

       end If

       Response.Cookies(
"vNumber").Value=vNumber '把访问次数写入Cookies文件

       Response.Cookies(
"vNumber").Expires=DateTime.Now.AddYears(1)

       message.Text
=nickname & ",您是第" & vNumber & "次访问本站,欢迎您!"

end sub

</script>

<>、使用Application内置对象进行网站访问量计数

说明:用于记录不同用户访问网站的次数

<html>

<head><title>使用Application对象对网站访问量进行计数</title></head>

<body>

<%

Application.Lock()

Application(
"UserCount")=Application("UserCount")+1

Application.UnLock()

Response.Write(Application(
"UserCount"))

%>

</body>

</html>

<>、使用文本文件保存网站访问量

说明:为避免服务器损坏或者突然停电等意外情况的发生,使用文件保存网站访问量

<html>

<head><title>使用StreamWriter和StreamReader对象进行网站计数</title></head>

<body>

<h2 align="center"><b>使用StreamWriter和StreamReader对象进行网站计数</b></h2>

<asp:label id="message" runat="server"/>

</body>

</html>

<%@Import Namespace="System.IO"%>

<script language="VB" runat="server">

sub Page_Load(sender 
as object,e as eventargs)

    dim VisiterCount 
as Long '定义计数器变量

       dim myFile 
as string     '定义文件路径变量

       myFile
=Server.MapPath("Count.txt")

       dim sw 
as StreamWriter

       dim sr 
as StreamReader

       
'如果该文件不存在建立文件,并写入1

       If File.Exists(myFile)
=false then

          sw
=new StreamWriter(myFile,false,Encoding.Default)

       sw.WriteLine(
"1")   '写入1

          sw.Close()

          message.Text
="您是第1位访客。" 

       
else

       
'读取文件

          sr
=new StreamReader(myFile,Encoding.Default)

          VisiterCount
=CLng(sr.ReadLine()) '读取一行,并转换成长整形

          sr.Close()

          
'写入文件

          sw
=new StreamWriter(myFile,false,Encoding.Default)

          VisiterCount
=VisiterCount+1   '将总数增加1

          sw.WriteLine(VisiterCount.ToString()) 
'写入一行,并覆盖原有数据

          sw.Close()

          message.Text
="您是第" & VisiterCount & "位访客。"

       end If

end sub

</script>
 

 

posted @ 2010-11-13 16:39 zhangsir 阅读(225) 评论(0)  编辑
---------------------------------------------------------------------
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,
2,'2004-10-15') --返回:2004-10-17 00:00:00.000

3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,
'2004-09-01','2004-09-18') --返回:17

4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month,
'2004-10-15') --返回 10

5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday,
'2004-10-15') --返回:星期五

6. day(), month(),year() --可以与datepart对照一下

select 当前日期=convert(varchar(
10),getdate(),120)
,当前时间=convert(varchar(
8),getdate(),114)

7. select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,getdate())
,今天是周几=datename(weekday,getdate())



函数 参数/功能
GetDate( ) --返回系统目前的日期与时间
DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期
DatePart (interval,date) ---返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) --返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

值 缩 写(Sql Server) Access 和 ASP 说明
Year Yy yyyy 年
1753 ~ 9999
Quarter Qq q 季
1 ~ 4
Month Mm m 月1 ~
12
Day of year Dy y 一年的日数,一年中的第几日
1-366
Day Dd d 日,
1-31
Weekday Dw w 一周的日数,一周中的第几日
1-7
Week Wk ww 周,一年中的第几周
0 ~ 51
Hour Hh h 时0 ~
23
Minute Mi n 分钟0 ~
59
Second Ss s 秒
0 ~ 59
Millisecond Ms - 毫秒
0 ~ 999

access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

举例:
1.GetDate() 用于sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592
DateDiff(
'd','2005-07-20','2005-7-25 22:56:32')返回值为 5

3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期一(周日为1,周六为7)
DatePart(
'd','2005-7-25 22:56:32')返回值为 25即25号
DatePart(
'y','2005-7-25 22:56:32')返回值为 206即这一年中第206天
DatePart(
'yyyy','2005-7-25 22:56:32')返回值为 2005即2005年

SQL Server DATEPART() 函数返回 SQLServer datetime 字段的一部分。

SQL Server DATEPART() 函数的语法是:
DATEPART(portion, datetime)

其中 datetime 是 SQLServer datetime 字段和部分的名称是下列之一: Ms for Milliseconds
Yy for Year
Qq for Quarter of the Year
Mm for Month
Dy for the Day of the Year
Dd for Day of the Month
Wk for Week
Dw for the Day of the Week
Hh for Hour
Mi for Minute
Ss for Second


--
1.编写函数,实现按照'年月日,星期几,上午下午晚上'输出时间信息(2009年3月16日星期一下午)
select datename(yy,getdate()) +
'' +
       datename(mm,getdate()) +
'' +
       datename(dd,getdate()) +
'' +
       datename(weekday,getdate()) +
       case when datename(hh,getdate()) <
12 then '上午' else '下午' end                                                                                                                          
--
2.编写函数,根据输入时间。输出该天是该年的第几天
select datepart(dy,getdate())
--
3.求出随机输出字符‘a-z
select char(
97+abs(checksum(newid()))%26)
select char(
97+rand()*26)
posted @ 2010-07-16 14:31 zhangsir 阅读(27) 评论(0) 编辑
2009-01-20 14:36

USE tempdb

GO

-- 创建测试表

CREATE TABLE tb(id char(8))

-- 创建用于自动过滤重复值的唯一索引

CREATE UNIQUE INDEX IX_tb ON tb(id)

WITH IGNORE_DUP_KEY

GO

-- 测试数据插入的处理时间, 记录开始处理的时间点

DECLARE @dt datetime

SET @dt = GETDATE()

-- 插入随机数据

SET NOCOUNT ON

DECLARE @row int

SET @row = 1000000 -- 设置总记录数

WHILE @row >0

BEGIN

    -- 显示提示信息, 表示还需要插入多行数据

    RAISERROR('need %d rows', 10, 1, @row) WITH NOWAIT

    -- 插入随机的位编码数据

    SET ROWCOUNT @row

    INSERT tb SELECT

        id = RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 8)

    FROM syscolumns c1, syscolumns c2

    SET @row = @row - @@ROWCOUNT

END

-- 显示插入数据使用的时间

SELECT BeginDate = @dt, EndDate = GETDATE(),

    Second = DATEDIFF(Second, @dt, GETDATE()),

GO

-- 显示最终的结果记录是否正确

SELECT COUNT(*) FROM tb

GO

-- 删除测试

DROP TABLE tb

 

DECLARE @dt datetime
SET @dt = GETDATE()
SET NOCOUNT ON --不返回影响的行数,可以提高效率
DECLARE @row int
SET @row = 1000000
WHILE @row >0
BEGIN
RAISERROR('need %d rows', 10, 1, @row) WITH NOWAIT --有重复行发生的时候把信息输出到客户端
SET ROWCOUNT @row --select ... FROM syscolumns c1, syscolumns c2的行数会超过100W,这里只取100W
INSERT Testtb(code) SELECT ---一次性的插入100W条记录,如果有重复的记录,那需要第二次执行插入,以此类推,一直到插入100W条为止。
id = 'ABCD' + RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 8)--100000000用来确保生成的随机数字有8位长度,
FROM syscolumns c1, syscolumns c2 --这里使用syscolumns只是为了获得大于100W的记录而已。至于随机的来源是个这个表是没有关系的。
SET @row = @row - @@ROWCOUNT --根据影响的行数,设置循环的时候需要插入的记录数量,这个记录数量等于本次操作中重复的记录的行数。
END
SELECT BeginDate = @dt, EndDate = GETDATE(), Second = DATEDIFF(Second, @dt, GETDATE())
GO

SELECT COUNT(*) FROM Testtb
GO

/*我的问题是
(1)为什么使用CHECKSUM()来生成随机数字?
(2)NEWID是生成一个唯一标志,既然它是唯一性的,怎么会又有重复的呢?
(3)http://msdn2.microsoft.com/zh-cn/library/ms189788.aspx
返回按照表的某一行或一组表达式计算出来的校验和值。CHECKSUM 用于生成哈希索引。
哈希表索引是数字型的吗?
*/   
    

RAISERROR('need %d rows', 10, 1, @row) WITH NOWAIT --有重复行发生的时候把信息输出到客户端
-- 这个是直接给提示信息, 有重复时的提示信息是sql自动抛出的


INSERT Testtb(code) SELECT ---一次性的插入100W条记录,如果有重复的记录,那需要第二次执行插入,以此类推,一直到插入100W条为止。

-- 有重复的数据的时候, 重复的数据会自动过滤掉  

 

CHECKSUM
返回在表的行上或在表达式列表上计算的校验值。CHECKSUM 用于生成哈希索引。

语法
CHECKSUM ( * | expression [ ,...n ] )

参数
*

指定在表的所有列上进行计算。如果有任一列是非可比数据类型,则 CHECKSUM 返回错误。不可比数据类型是 text、ntext、image、cursor 以及基本类型为前 4 个数据类型之一的 sql_variant。

expression

是除非可比数据类型之外的任何类型的表达式。

返回类型
int


000

posted @ 2010-02-01 23:23 zhangsir 阅读(199) 评论(0) 编辑
摘要: 使用transform.matrix较为繁琐,但其优势是功能强大:使用matrix.concat()方法可轻松的将显示对象斜切变形:var myMatrix:Matrix=matrix_rect.transform.matrix;var tempx,tempy;tempx=matrix_rect.x+matrix_rect.width/2;tempy=matrix_rect.y+matrix_re...阅读全文
posted @ 2009-12-07 23:20 zhangsir 阅读(159) 评论(0) 编辑
摘要: 第一种:修改配置文件web.config,加入如下内容:<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN"/>就不会出现乱码了。第二种:如果在配置文件web.config中的<configuration>节点下 已经配置了&l...阅读全文
posted @ 2009-11-18 07:24 zhangsir 阅读(167) 评论(0) 编辑
摘要: SQL技巧(sp_procedure_params_rowset,SQL中设置数据值为null) 1.在SQL Server数据库中要把某个字段改null? 语句:set xxxx=null; 快捷键:ctrl + 0; 2.得到任意一个存储过程的参数列表 方法1: select c.name from syscolumns c,sysobjects o where o.id=c.id and o...阅读全文
posted @ 2009-11-11 18:01 zhangsir 阅读(245) 评论(0)  编辑
摘要: AS3 file:ActionScript Code:var loader:Loader = new Loader();loader.load(new URLRequest("AS2file.swf"));addChild(loader);var receiveSwf_lc:LocalConnection = new LocalConnection();receiveSwf_lc.client =...阅读全文
posted @ 2009-10-14 10:33 zhangsir 阅读(81) 评论(0) 编辑
摘要: 1)、打开我的 Microsoft Access ,打开任意一个文件,然后点“工具->选项”,再选常规选项卡。注意在右下方有"新建数据库排序次序"下拉框,默认为“中文笔画”,选中“常规”。然后关掉该文件。(注意,该选项卡只有在有文件打7 ]2 j% v* v& @; J( U开的状况下才能使用)2)、然后R...阅读全文
posted @ 2009-10-09 15:49 zhangsir 阅读(37) 评论(0)  编辑