Asp 中 等同于 Command.ExecuteNonQuery() 的操作
2008-05-01 11:40 废墟中的垃圾 阅读(422) 评论(0) 收藏 举报
真的是孤陋寡闻了。只知道在.net里面有这么多好的数据库操作。
数据统计这样的信息一般就是不断地更新一个字段,当然你可以这个统计主体的主表里面被初始化为0,但是如果要作一个专门做统计的表,那么这里就需要先判断当前主体的统计是否已经有一条记录了。如果有,那么update,如果没有insert。
正常做法是 select 1 from 统计表 where 查询主体
然后判断是否有记录
但是这样的判断要不有一个datereader,要不就是一个datatable,这样都是很不划算的。
.net的数据操作真的很强大(当然这里重新看了一下ado的微软API,知道了大部分只是封装的更好而已)。Command的ExecuteNonQuery() 方法,直接进行更新操作,然后通过返回的0 和 非0 来进行判断,在进行插入。
大家想想是不是结构上和效率上优化了很多?(这里应该大部分朋友都这么做的,呵呵,给入门者说一下:),不要拍我啊)。
同样,曾经的asp是不是一样能做到呢?曾经,有这样简单的一个方法在我前面,我每天都在用,对于她的熟悉已经到了不能再熟悉的地步,但是我却没有了解她,没有深入的,彻底的去了解她。如果老天再给我一次机会,我一定对她说,API真好,哈哈。
在asp里面只有几个简单的对象,最基础的 connection对象就能胜任我们的这样一个需求
API 里面这样记录 :
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)

CommandText String 值,包含要执行的 SQL 语句、表名称、存储过程、URL 或提供者特有的文本。

RecordsAffected 可选。Long 变量,提供者向其返回操作影响的记录数目。

Options 可选。Long 值,指示提供者计算 CommandText 参数的方式。可以是一个或者多个 CommandTypeEnum 或 ExecuteOptionEnum 值。
应该可以一目了然了吧,其实这个真的是太熟悉又太不了解的东西了,因为除了在API里面,一般的教学书里面是不会告诉的,所以这里再一次强烈推荐大家好好的看API。
同样的还有
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
RecordsAffected 可选。Long 变量,提供者向其返回受操作影响的记录的数目。RecordsAffected 参数仅应用于操作查询或存储过程。RecordsAffected 不返回由返回结果的查询或存储过程返回的记录数目。要返回此信息,请使用 RecordCount 属性。

Parameters 可选。用 SQL 语句传递的参数值的 Variant 数组。(用此参数传递时,输出参数将不能返回正确的值。)

Options 可选。Long 值,指示提供者应如何计算 Command 对象的 CommandText 属性。可以是一个或者多个 CommandTypeEnum 或 ExecuteOptionEnum 值。
数据统计这样的信息一般就是不断地更新一个字段,当然你可以这个统计主体的主表里面被初始化为0,但是如果要作一个专门做统计的表,那么这里就需要先判断当前主体的统计是否已经有一条记录了。如果有,那么update,如果没有insert。
正常做法是 select 1 from 统计表 where 查询主体
然后判断是否有记录
但是这样的判断要不有一个datereader,要不就是一个datatable,这样都是很不划算的。
.net的数据操作真的很强大(当然这里重新看了一下ado的微软API,知道了大部分只是封装的更好而已)。Command的ExecuteNonQuery() 方法,直接进行更新操作,然后通过返回的0 和 非0 来进行判断,在进行插入。
大家想想是不是结构上和效率上优化了很多?(这里应该大部分朋友都这么做的,呵呵,给入门者说一下:),不要拍我啊)。
同样,曾经的asp是不是一样能做到呢?曾经,有这样简单的一个方法在我前面,我每天都在用,对于她的熟悉已经到了不能再熟悉的地步,但是我却没有了解她,没有深入的,彻底的去了解她。如果老天再给我一次机会,我一定对她说,API真好,哈哈。
在asp里面只有几个简单的对象,最基础的 connection对象就能胜任我们的这样一个需求
API 里面这样记录 :
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)
CommandText String 值,包含要执行的 SQL 语句、表名称、存储过程、URL 或提供者特有的文本。
RecordsAffected 可选。Long 变量,提供者向其返回操作影响的记录数目。
Options 可选。Long 值,指示提供者计算 CommandText 参数的方式。可以是一个或者多个 CommandTypeEnum 或 ExecuteOptionEnum 值。同样的还有
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
RecordsAffected 可选。Long 变量,提供者向其返回受操作影响的记录的数目。RecordsAffected 参数仅应用于操作查询或存储过程。RecordsAffected 不返回由返回结果的查询或存储过程返回的记录数目。要返回此信息,请使用 RecordCount 属性。
Parameters 可选。用 SQL 语句传递的参数值的 Variant 数组。(用此参数传递时,输出参数将不能返回正确的值。)
Options 可选。Long 值,指示提供者应如何计算 Command 对象的 CommandText 属性。可以是一个或者多个 CommandTypeEnum 或 ExecuteOptionEnum 值。
浙公网安备 33010602011771号