20110121 学习记录:DataTable中Rows.RemoveAt(i) 和Rows(i).Delete -- Asp操作Cookies

delete并不是真的删除 只是 将该row的rowstate变为 rowstate.delete
removeat()是 真的从datatable中删除
1.
使用myDataTable.Rows.RemoveAt(i)删除行.
2.
使用myDataTable.Rows(i).delete
这时候需要使用
myDataTable.AcceptChanges
才能更新到数据库.
-------------------------------
两种方法看似第一种比较简单.但不要在循环里使用myDataTable.Rows.RemoveAt(i).因为每删除一行后.i的值会增加,但行数会是减少了.这么做一定会出错.


上面是在百度知道的某贴中看到的,

经实验,两种都会即时删除行。也就是说,如果是循环删除,两种方法都会导致一行删除后面索引数错乱的问题。

但是我想在一遍循环里删除掉所有checkbox打勾的行,不想再重新做其他操作来处理了。想了一下,只要逆序循环就行了。也就是从最大的行数→第0行循环,这样每次删除的行也不会影响到前面行的索引数~ 哈哈哈

 

 



Asp操作Cookies(设置[赋值]、读取、删除[设置过期时间])
Response.Cookies("letwego")("visiter")="84ww" '赋值
Response.Cookies("letwego").Expires= (now()+7) '设置过期时间(7天)
userName=Request.Cookies("letwego")("visiter") '取Cookies
Response.Cookies("letwego").Expires= (now()-1) '删除Cookies,设置过期时间(-1天)




'dateadd("n",30,now()) 得到分钟
'dateadd("S",30,now()) 得到秒

一、读取
Response.Cookies("visiter")="aaa"
a=Request.Cookies("visiter")

Response.Cookies("letwego")("visiter")="aaa"
a=Request.Cookies("letwego")("visiter")

二、设置过期时间
Response.Cookies("visiter").expires=dateadd("H",8,now())'表示Cookies保存8小时
Response.Cookies("user_name").Expires=Date+1 '指定cookie保存时间

保留COOKIES一个小时
Response.Cookies("MyCookie").Expires= (now()+1/24)

Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())


Response.Cookies("CookieName").Expires=DateAdd("m",60,now())
设置60个月以后过期

Response.Cookies("User").expires=second()+7
在expires后面定义的时间可以用时间函数代替
例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。

Response.Cookies("字段名").expires=时间函数+N,例如:
Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如:
Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。
这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。


织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:
Response.Cookies("baidooglecom").expires = DateAdd("h", 1, Now())

30分钟:
Response.Cookies("CookieName").Expires=DateAdd("n",30,now())

dateadd("S",30,now()) 得到秒


Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
cookie的使用到期时间为“2010年1月1日”: Response.Cookies("CookieName").Expires=#January 01, 2010#
cookie的过期时间为“cookie的创建时间+365天”:Response.Cookies("CookieName").Expires=Date+365 推荐的
但最好不要随便写 Response.Cookies("CookieName").Expires=Date,这样页面之间的调用时值会为空。



-----------------------------------------------------------------------------------------------------------------------



在asp中,我们可以用response.cookies方法,定义cookies的值。方法如下:
response.cookies(cookiesname)[(key)|.attribute]=value
解释如下:cookiesname是你想要的cookies的名字,比如:test
参数key:可选参数,当然,不指定也可以了。:)
key用于指定词典式cookie的了cookie的名称。我的理解似乎与一个数组类似。

参数attribute可选,指定cookie本身的相关信息,比如指定特定的网址、路径、有效期等。
可选的值有:Domain 只能读取特定域名的cookie
Expires cookie的有效期限
Haskeys 是否含有子cookie
Path 只能在指定路径上读取Cookie
Secure 指定cookie是否加密

比如,要在本网站指定名为naxizu的cookie,方法如下:

Response.Cookies("naxizu").Domain = "http://www.xxx.com/" ‘指定http://www.xxx.com/访问
Response.Cookies("naxizu").Path = "E-Blog" '指定E-Blog目录访问
Response.Cookies("naxizu").Expires= DateAdd("d",2,date) '指定两天后过期


Response.Cookies("naxizu")("name")="测试"
Response.Cookies("naxizu")("type")="呵呵"
上面这两句就是制作了一个词典式的cookie。

关于Haskeys的用法,相当简单,request.Cookies(cookie).Haskeys就可以了,比如要判断一个cookies是否为词典式,就可以写成
<%
If Request.Cookies("naxizu").Haskeys Then
Response.Write "这是一个词典式的Cookies"
Else
Response.Write "这不是一个词典式的Cookies"
End If
%>

 

你可能感兴趣的:(Datatable)