数据库中recordset 都有什么属性,

数据库中recordset 都有什么属性,,第1张

zzzzRecordSet对象的属性可分为以下4种类型。

zzzz1)方式属性:包括ActiveConnection属性和Source属性。

zzzz2)行为属性:包括CursorType属性、LockType属性、Filter属性、CacheSize属性和MaxRecords属性。

zzzz3)记录指针移动属性:包括BOF和EOF属性、RecordCount属性、BookMar属性、AbsikytePosition属性、PageSize属性、AbsolutePage属性和PageCount属性。

zzzz4)数据维护属性:包括EditMode属性和Status属性等。

1.方式属性

zzzz(1) ActiveConnection属性

zzzz此属性用于指定链接字符串或Connection对象的名称,方便RecordSet对象完成数据库链接有前置动作。

zzzz(2) Source属性

zzzz此属性用于设置或返回一个字符串,指定要检索数据库服务器。包含存储进程名、表名、SQL语句或在打开时用于为RecordSet提供记录集合的开放Command对象。

2.行为属性

zzzz(1)CursorType属性:此属性定义了指针的类型,不同的指针类型决定了对数据库所能做的 *** 作,它有4种可取值,如表7-9所示。

 表7-9 CursorType属性值说明

zzzz(2)LockType属性:此属性决定了是否可以更新数据以及RecordSet的更新是否可以批量进行。LockType属性有4种可取值,如表7-10所示。

表7-10 LockType属性值说明

zzzz(3)Filter属性:此属性用于过滤由数据库服务器端所返回的数据,Filter属性设定值如表7-11所示。

表7-11 Filter所示属性值说明

zzzz(4)CacheSize属性:此属性指定保存在高速缓存中RecordSet记录的数目,也就是客户端每次由数据库服务器端取回数据记录的数目。对于只能向前移动的记录,默认值为1。

zzzz(5)MaxRecords属性:该属性设定返回给RecordSet记录的最大数目,默认值为0,表明将所有记录都加入到RecordSet中,打开RecordSet对象后,此属性为只读。

3.记录指针移动的属性

zzzz(1)BOF和EOF属性:这两个属性是用来判断指针是否在RecordSet的首记录之前或尾记录之后。如果当记录位于RecordSet的首记录之前,则BOF返回True.如果当前记录是位于RecordSet的尾记录之后,则EOF返回True.如果BOF 和EOF都为True,则说明RecordSet中没有记录。

zzzz(2)RecordCount属性:该属性用于返回RecordSet中的记录数。

zzzz(3)BookMark属性:当创建一个允许使用BookMark属性的RecordSet时,给每一个记录都标上独一无二的书签。利用此属性可以返回标记书签的位置。

zzzz(4)AbsolutePosition属性:此属性可以用于设置RecordSet当前记录的顺序位置。

zzzz(5)PageSize属性:当记录集合返回到RecordSet中时,集合就会被划分成任意大小的页。利用此属性可以页记录集合。

zzzz(6)AbsolutePage属性:此属性指定了指针的位置,通过改变它的值来通知ADO移动指定页面的开始位置。

zzzz(7)PageCount属性:此属性可用来返回RecordSet中的页数。如果RecordSet最后一页未满,其中的记录就少于PageCount值,则PageCount属性值应由下面的公式设定。

zzzzPageCount=(RecordCount+PageSize-1)/PageSize

4.数据维护属性

zzzz(1)EditMode属性:该属性返回一个表明当前记录编辑状态的值。此属性的返回值有3种如表7-12所示。

表7-12 EditMode返回值

zzzz(2)Status属性:此属性可以在实施一次批量更新后,查询RecordSet的状态。该属性常用于多用户链接管理。其返回值如表7-13所示。

表7-13 Status的返回值

rs = Server.CreateObject("ADODB.RecordSet")

rs.Open(sqlStr,conn,1,A)

注:A=1表示读取数据;A=3表示新增、修改或删除数据。

在RecordSet组件中,常用的属性和方法有:

rs.Fields.Count:RecordSet对象字段数。

rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1

rs(i):第i个字段的数据,i为0至rs.Fields.Count-1

rs("字段名"):指定字段的数据。

rs.RecordCount:数据记录总数。

rs.EOF:是否最后一条记录。

rs.MoveFirst:指向第一条记录。

rs.MoveLast:指向最后一条记录。

rs.MovePrev:指向上一条记录。

rs.MoveNext:指向下一条记录。

rs.GetRows:将数据放入数组中。

rs.Properties.Count:ADO的ResultSet或Connection的属性个数。

rs.Properties(item).Name:ADO的ResultSet或Connection的名称。

rs.Properties:ADO的ResultSet或Connection的值。

rs.close():关闭连接。

属性和方法分开列出

属性:

AbsolutePage属性:当RecordSet对象设有分页时,返回当前页码。

AbsolutePosition属性:当前指针的绝对位置。

ActiveConnection属性:指明进行SQL语句的数据库连接。

EOF属性:若指针位于第一条记录之前,返回TRUE、否则返回FALSE。

Bookmark属性:将指针设置在某条记录。

CursorLocation属性:设置或返回光标提供者的位置,若设为2(adUseServer)表示使用服务器端光标(默认);若设为3(adUseClient)表示使用浏览器端光标。

CursorType属性:指出RecordSet对象中使用的光标类型

EditMode属性:返回RecordSet对象当前的编辑模式

BOF属性:若指针位于最后一条记录之后,返回TRUE、否则返回FALSE。

Filter属性:从RecordSet对象中筛选记录。

LockType属性:指定编辑过程中对记录的锁定类型。

MaxRecords属性:可以返回的最多记录条数。

PageCount属性:返回RecordSet对象的分页总数。

PageSize属性:RecordSet对象设有分页时,设置分页的记录条数。

RecordCount属性:返回RecordSet对象中记录条数。

source属性:设置用来建立RecordSet对象的SQL来源。

State属性:返回RecordSet对象的状态:1(adStateOpen)表示打开;2(adStateClosed)表示关闭。

Status属性:返回对记录的处理是否成功:1(adStatusOK)表示成功;2(adStatueErrorsOccurred)表示产生错误。

方法:

AddNew方法:为可更新的RecordSet对象创建一个新记录。

CancelBatch方法:取消批次更新。

CancelUpdate方法:取消对当前的RecordSet对象中某一个记录的任何改变,但必须在使用Update之前。

Clone方法:复制一个已存在的RecordSet对象。

Delete方法:删除RecordSet对象中当前一条记录。

MoveFirst方法:将当前指针移到RecordSet对象中的第一条记录。

MoveLast方法:将当前指针移到RecordSet对象中的最后一条记录。

MoveNext方法:将当前指针移到RecordSet对象中的当前记录的下一条记录。

MovePrevious方法:将当前指针移到RecordSet对象中的当前记录的上一条记录。

Move n方法:将当前指针移到RecordSet对象中的当前指针到第n条记录。

Open方法:打开一个RecordSet对象。

Update方法:保存对当前RecordSet对象中记录的更新。

GetRows方法:从当前记录开始取出n条记录并存于一个二维数组中。

循环得到一条记录的所有值

For Each objFld In rs.Fields

Response.Write objFld

Next

得到属性个数

rs.Fields.count

主要是采用了HttpResponse.Filter属性来处理。具体代码如下:

首先自定义一个类,来作为非法词汇的过滤器

1 public class ResponseFilter:Stream

2 {

3 #region properties

4

5 Stream responseStream

6 long position

7 StringBuilder html = new StringBuilder()

8

9 #endregion

10

11 #region constructor

12

13 public ResponseFilter(Stream inputStream)

14 {

15

16 responseStream = inputStream

17

18 }

19

20 #endregion

21

22 #region implemented abstract members

23

24 public override bool CanRead

25 {

26 get { return true}

27 }

28

29 public override bool CanSeek

30 {

31 get { return true}

32 }

33

34 public override bool CanWrite

35 {

36 get { return true}

37 }

38

39 public override void Close()

40 {

41 responseStream.Close()

42 }

43

44 public override void Flush()

45 {

46 responseStream.Flush()

47 }

48

49 public override long Length

50 {

51 get { return 0}

52 }

53

54 public override long Position

55 {

56 get { return position}

57 set { position = value}

58 }

59

60 public override long Seek(long offset, System.IO.SeekOrigin direction)

61 {

62 return responseStream.Seek(offset, direction)

63 }

64

65 public override void SetLength(long length)

66 {

67 responseStream.SetLength(length)

68 }

69

70 public override int Read(byte[] buffer, int offset, int count)

71 {

72 return responseStream.Read(buffer, offset, count)

73 }

74

75 #endregion

76

77 #region write method

78

79 public override void Write(byte[] buffer, int offset, int count)

80 {

81

82 string sBuffer = System.Text.UTF8Encoding.UTF8.GetString(buffer, offset, count)

83

84 //得到非法词汇列表,这个可以在数据库或Web.Config中读取出来

85 string pattern = @"(非法词汇1|非法词汇2|非法词汇3)"

86

87

88 string[] s = pattern.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries)

89

90 foreach (string s1 in s)

91 {

92 sBuffer = sBuffer.Replace(s1, "**")

93 }

94

95

96 byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(sBuffer)

97 responseStream.Write(data, 0, data.Length)

98

99 }

100

101 #endregion

102

103

104 }

然后再Global.asax文件中,添加如下代码:

1 public void Application_BeginRequest()

2 {

3 Response.Filter = new ResponseFilter(Response.Filter)

4

5 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6936574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存