数码资讯
asp操作数据库类
今天,我在这里为您提供一种数据库操作的方式,它是在长期的ASP应用中不断地完成和修正的。它还用它完成了许多项目。应该说直接使用是没有问题的,当然,我的能力有限,希望大家一起讨论。 说明:此代码是VBscript版本。另外,你最好有手写ASP有一定基础。 首先,简单介绍一下我班的一些特点。 许多不同类
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
今天,我在这里为您提供一种数据库操作的方式,它是在长期的ASP应用中不断地完成和修正的。它还用它完成了许多项目。应该说直接使用是没有问题的,当然,我的能力有限,希望大家一起讨论。
说明:此代码是VBscript版本。另外,你最好有手写ASP有一定基础。
首先,简单介绍一下我班的一些特点。
许多不同类型的数据库可以同时运行。
不需要考虑数据类型的差异,不再需要字符类型字段来添加单引号。
调用非常简单,数据库的主要操作一般只需要一行代码。
支持MSSQL事务回滚。
sql语句的自动生成和输出很容易调试。
使用方法uff1a
1。修改自己的数据库在clsdbctrl.asp文件第一行为(改性方法是通过下面的creatconn功能解释)。如果您需要连接多个数据库,您可以添加他们自己的,具有相同的格式。
2。将这个ASP文件包含在新的ASP文件中:
或:
三.使用下面的代码来应用这种类型:
数据库连接:
<
OpenConn()的开放数据库连接
昏暗的分贝:设置DB =新dbctrl创造一副图像
你的代码在这里…
有限公司(DB):CloseConn()释放对象,关闭数据库连接
%>
或(一个或多个数据库连接):
<
昏暗的DB1:集db1 =新dbctrl:db1.dbconn = OC(一)
昏暗的DB2:设置db2 =新dbctrl:db2.dbconn = OC(B)
你的代码在这里…
CO(DB1):CO(DB2)
%>
4。具体操作的例子可以参考每个函数描述中的代码示例。
方法和属性的调查(详细用法和下面的示例):
引用 uff1a
CreatConn生成一个数据库连接字符串
建立数据库连接
CO释放对
openconn打开默认的数据库连接
closeconn关闭默认的数据库连接
的dbctrl.dbconn属性获取数据库连接操作,与Conn的默认值
dbctrl.dberr属性只读,输出捕获错误信息
dbctrl。版本属性,只读程序版本信息
的dbctrl.autoid方法自动获取唯一序列号
dbctrl.getrecord方法获得一套符合记录集
的dbctrl.getrecordbysql方法以记录集基于SQL语句
的dbctrl.getrecorddetail方法,根据指定的记录详细资料
dbctrl.addrecord方法,添加新记录
dbctrl.updaterecord方法,根据指定的条件更新记录
dbctrl.deleterecord方法,删除符合记录
dbctrl.readtable方法获得基于指定条件的记录等方面的内容
DbCtrl。C方法,关闭记录集对
DbCtrl.wGetRecord,
DbCtrl.wAddRecord,
DbCtrl.wUpdateRecord,
dbctrl.wdeleterecord这4种方法的SQL语句,得到相应的操作(W)
参数公约:
由于ASP没有参数对象,不能使用动态参数,所以在这个类的代码中使用数组(数组)来实现这个效果。
阵列(田:value1
是的,它有点像JSON格式,如果它涉及到一个变量,这就是它的方式:
阵列(田:Field2 value1,value2,:3:3)
可以说,几乎所有的内容,在这类数据库相关的领域可以设置在上述阵列格式或获取内容。这里最大的特点是,你不必考虑字段的类型当你使用它,并按照现场一个冒号和遵循相应的价值如果你写的asp程序经常,你会很快感觉到使用这种方式的魅力。除了数据类型,在任何时候添加和删除条件也是很方便的,如果你不理解如何使用它,有很多例子来说明这个问题。
封装ASP的数据库操作并不难。我相信你以前做过类似的代码,或者借用别人的代码,但你也知道,包装的使用代码一旦错误,调试是一件很麻烦的事情,一般来说,越简单的调试运行后的包装更复杂。当我写这些代码,我所做的一切,我可以思考如何检查错误,如果我走错,并尽量简化用户操作数据库的代码,并在同一时间,我可以在任何时间输出的SQL语句。
最后需要说明的是,本文中的asp数据库操作不适合大数据。如您所知,大数据的操作要比使用诸如存储过程等东东更好。稍后,我将考虑封装存储过程的操作,也存在一个效率问题。如果我们想追求高效率,我们应该考虑COM+或ASP。因此,再次声明,这个类别适合于中小型ASP项目。
好吧。下面给出了详细的说明。
1。数据库连接
考虑到大多数人的习惯,我们使用公共进程进行数据库连接,因此需要在代码中对其进行修改。如果你已经建立的数据库连接,你可以诠释这些线。代码是用MSSQL,MySQL和oracle4访问,建立与数据库的连接,当然你也可以添加或删除的源代码进行修改,例如:
a:一个= CreatConn(0,数据
尺寸B:B = creatconn(1,数据 / %其中%。MDB
事实上,第一个参数可以是一个字符串,如果使用了访问,第二个参数可以被输入到相对路径和绝对路径,并且密码也可以在第五个参数中输入,例如:
定义c:C = CreatConn(访问
相关函数:
原型:CreatConn(DBTYPE,strdb,strserver,struid,strpwd)
函数:建立数据库连接字符串
返回值:字符串
参数:
DbType:整数或字符串连接数据库类型
(0或MSSQL)-微软SQL服务器
(1或访问)-微软Office访问
(2或MySQL)- MySQL服务器
(3或Oracle)- Oracle服务器
StrDB:字符串数据库名称或数据库地址(使用绝对或相对路径)访问
strserver:字符串数据库服务器的访问地址,请留下空白
StrUid:字符串访问数据库的用户名,请留空白
StrPwd:字符串数据库密码
原型:OC(connstr)
功能:打开数据库连接
返回值:对象数据库连接对
参数:
connstr:字符串连接数据库的字符串,由CreatConn函数生成
原型:CO(obj)
函数:靠近图像
参数:
Obj:对象的名称要关闭对象
原型:openconn
功能:打开一个默认的数据库连接和自动创建一个名为Conn的连接副
参数:无
原型:closeconn
功能:以Conn的名义关闭默认数据库连接副
参数:无
两。数据库操作
下面是这个数据库操作类函数的功能说明,应该算是手册,请看应用程序的例子。
原型:dbctrl.dbconn(objconn)
函数:获取数据库连接对
参数:
ObjConn:数据库连接,对已经建立的对象
举一个例子:uff1a
昏暗的分贝:设置DB =新dbctrl
db.dbconn = OC(CreatConn(1,E: 网站首页数据 %其中%。MDB
钴(DB)
描述:此属性是可选的,如果不指定此属性,默认的数据连接到一个页面上的Conn名称的数据库连接副。
原型:dbctrl.autoid(字段)
功能:自动获取唯一的序列号(自动编号)
返回值:整数
参数:
表名:字符串需要独特的序列号的数据表名称
举一个例子:uff1a
昏暗的NEWID
NEWID = db.autoid(数据)
写(NEWID)反应。
原型:dbctrl.getrecord(TableName、fieldslist、条件、排序字段如,如图所示)
函数:获取一组符合条件的记录
返回值:对象记录集对
参数:
表名:字符串表的名称
fieldslist字符串字段的名称,用逗号隔开,所有领域的空白
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
排序字段如:字符串排序
显示:整数获得记录数,相当于在SQL中选择top n。
举一个例子:uff1a
昏暗的RS
集= db.getrecord(数据
而not rs.eof
答:写(名字是:RS(1)年龄是: RS(2))
Rs.movenext()
走
db(RS)
对于上面的例子,使用下面的数组模式来指定等价条件:
集= db.wgetrecord(数据
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wgetrecord(数据
如您所见,只需在原始函数之前添加一个w。
原型:dbctrl.getrecordbysql(strselect)
函数:获取基于SQL语句的记录集
返回值:对象记录集对
参数:
strselect:字符串是用来生成SQL语句的Recordset
举一个例子:uff1a
昏暗的RS
集= db.getrecordbysql(选择的ID,a.lastname,B组从用户的innerjoin离开))
你的代码在这里…
db(RS)
原型:dbctrl.getrecorddetail(TableName、条件)
函数:基于指定记录的详细数据
返回值:对象记录集对
参数:
表名:字符串表的名称
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
举一个例子:uff1a
模糊RS,id
ID = request.querystring(ID)
集= db.getrecorddetail(数据
你的代码在这里…
db(RS)
说明:正如您已经看到的,这是最常用的打开详细页面(如新闻内容页)的方法。
原型:dbctrl.addrecord(TableName、valuelist)
函数:添加一个新记录
返回值:Id(成功)或新记录的0(失败)
参数:
表名:字符串表的名称
valuelist:字段和数组的值插入表只能是一个数组应遵循以前的参数规范
举一个例子:uff1a
昏暗的名、联邦软件交易中心,fworkyear,fbirth
名为两王之王
联邦软件交易中心=男
fworkyear = 12
fbirth = CDate(1981-10-23 )
模糊的结果
结果:db.addrecord(数据
如果结果小于0,那么
响应。写入(添加记录成功)!此记录的自动编号ID是结果
最后如果
看,你真的不需要考虑什么类型的领域是。
如果你想在代码的字段和值中更清楚地看到,你可以写这个,但这对你有好处:
结果:db.addrecord(数据
性别:联邦软件交易中心,_
workyear:fworkyear,_
生日fbirth,_
活跃:真实))
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(数据
说明:返回id值是一种更愚蠢的方法,当并发数据量很大时,它不能保证数据的准确性和使用率。
原型:dbctrl.updaterecord(TableName、条件、valuelist)
功能:根据指定的条件更新记录。
返回值:1(成功)或0(失败)
参数:
表名:字符串表的名称
条件:字符串或数组更新条件,如果数组应遵循前面的参数约定
valuelist:的字符串或数组更新字段和值,如果数组应该遵循以前的参数规范
举一个例子:uff1a
昏暗的名,fworkyear
名为三王之王
fworkyear = 10
模糊的结果
结果:db.updaterecord(数据
如果结果小于0,那么
响应。写入()更新数据成功!)
最后如果
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wupdaterecord(数据
原型:dbctrl.deleterecord(TableName、idfieldname,IDValues)
功能:删除限定记录
返回值:1(成功)或0(失败)
参数:
表名:字符串表的名称
idfieldname:字符串表中的ID字段的名称
idvalues:字符串或数组删除的条件,可以多个身份证号码以逗号分隔,如果数组应该按照以前的参数规范
举一个例子:uff1a
结果,模糊的ID
ID =请求。形式(selectid )可以假设得到的值是12, 34, 256、314(由复选框提交的值都是这个)。
结果:db.deleterecord(数据
如果结果小于0,那么
响应。写入()删除数据成功!)
最后如果
当然,您还可以使用字符串或数组来指定其他条件,如:
结果:db.deleterecord(数据
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wdeleterecord(数据
原型:dbctrl.readtable(TableName、条件、getfieldnames)
函数:根据指定的条件获取记录中其他字段的内容。
返回值:字符串(getfieldnames是单场)或阵列(getfieldnames是多场)
参数:
表名:字符串表的名称
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
GetFieldNames:单场或多场字符串名称以逗号分隔的名称
举一个例子:uff1a
昏暗的UID,结果
UID = RS(,)的假设,这是一个记录集页面上的用户的ID值
结果:db.readtable(9用户管理表
响应。写入(发布者:结果)
我要说的是,在实际应用中,这个功能可能是最常用的,你上面看到的是一个很常见的例子,增益等于另一场对一个表中的字段值值值(有点笨拙,但它是这个意思)。下面的例子将告诉你如何根据这一价值得到一些相应的值。
昏暗的UID,结果
UID = RS(,)的假设,这是一个记录集页面上的用户的ID值
结果:db.readtable(9用户管理表
响应。写入(发布者:结果(0)性别:结果(1)年龄结果(2))
正如您所看到的,这非常简单,多个字段名的输入是一个数组。
原型:dbctrl C(objrs)。
函数:关闭记录集对
参数:
ObjRs:在目标页记录集对
举一个例子:uff1a
昏暗的RS
集= db.getrecorddetail(数据
你的代码在这里…
db(RS)
这个函数的许多例子都被使用了,而且它们解释不了很多。它相当于关闭:集=没有。
clsdbctrl.rar
说明:此代码是VBscript版本。另外,你最好有手写ASP有一定基础。
首先,简单介绍一下我班的一些特点。
许多不同类型的数据库可以同时运行。
不需要考虑数据类型的差异,不再需要字符类型字段来添加单引号。
调用非常简单,数据库的主要操作一般只需要一行代码。
支持MSSQL事务回滚。
sql语句的自动生成和输出很容易调试。
使用方法uff1a
1。修改自己的数据库在clsdbctrl.asp文件第一行为(改性方法是通过下面的creatconn功能解释)。如果您需要连接多个数据库,您可以添加他们自己的,具有相同的格式。
2。将这个ASP文件包含在新的ASP文件中:
或:
三.使用下面的代码来应用这种类型:
数据库连接:
<
OpenConn()的开放数据库连接
昏暗的分贝:设置DB =新dbctrl创造一副图像
你的代码在这里…
有限公司(DB):CloseConn()释放对象,关闭数据库连接
%>
或(一个或多个数据库连接):
<
昏暗的DB1:集db1 =新dbctrl:db1.dbconn = OC(一)
昏暗的DB2:设置db2 =新dbctrl:db2.dbconn = OC(B)
你的代码在这里…
CO(DB1):CO(DB2)
%>
4。具体操作的例子可以参考每个函数描述中的代码示例。
方法和属性的调查(详细用法和下面的示例):
引用 uff1a
CreatConn生成一个数据库连接字符串
建立数据库连接
CO释放对
openconn打开默认的数据库连接
closeconn关闭默认的数据库连接
的dbctrl.dbconn属性获取数据库连接操作,与Conn的默认值
dbctrl.dberr属性只读,输出捕获错误信息
dbctrl。版本属性,只读程序版本信息
的dbctrl.autoid方法自动获取唯一序列号
dbctrl.getrecord方法获得一套符合记录集
的dbctrl.getrecordbysql方法以记录集基于SQL语句
的dbctrl.getrecorddetail方法,根据指定的记录详细资料
dbctrl.addrecord方法,添加新记录
dbctrl.updaterecord方法,根据指定的条件更新记录
dbctrl.deleterecord方法,删除符合记录
dbctrl.readtable方法获得基于指定条件的记录等方面的内容
DbCtrl。C方法,关闭记录集对
DbCtrl.wGetRecord,
DbCtrl.wAddRecord,
DbCtrl.wUpdateRecord,
dbctrl.wdeleterecord这4种方法的SQL语句,得到相应的操作(W)
参数公约:
由于ASP没有参数对象,不能使用动态参数,所以在这个类的代码中使用数组(数组)来实现这个效果。
阵列(田:value1
是的,它有点像JSON格式,如果它涉及到一个变量,这就是它的方式:
阵列(田:Field2 value1,value2,:3:3)
可以说,几乎所有的内容,在这类数据库相关的领域可以设置在上述阵列格式或获取内容。这里最大的特点是,你不必考虑字段的类型当你使用它,并按照现场一个冒号和遵循相应的价值如果你写的asp程序经常,你会很快感觉到使用这种方式的魅力。除了数据类型,在任何时候添加和删除条件也是很方便的,如果你不理解如何使用它,有很多例子来说明这个问题。
封装ASP的数据库操作并不难。我相信你以前做过类似的代码,或者借用别人的代码,但你也知道,包装的使用代码一旦错误,调试是一件很麻烦的事情,一般来说,越简单的调试运行后的包装更复杂。当我写这些代码,我所做的一切,我可以思考如何检查错误,如果我走错,并尽量简化用户操作数据库的代码,并在同一时间,我可以在任何时间输出的SQL语句。
最后需要说明的是,本文中的asp数据库操作不适合大数据。如您所知,大数据的操作要比使用诸如存储过程等东东更好。稍后,我将考虑封装存储过程的操作,也存在一个效率问题。如果我们想追求高效率,我们应该考虑COM+或ASP。因此,再次声明,这个类别适合于中小型ASP项目。
好吧。下面给出了详细的说明。
1。数据库连接
考虑到大多数人的习惯,我们使用公共进程进行数据库连接,因此需要在代码中对其进行修改。如果你已经建立的数据库连接,你可以诠释这些线。代码是用MSSQL,MySQL和oracle4访问,建立与数据库的连接,当然你也可以添加或删除的源代码进行修改,例如:
a:一个= CreatConn(0,数据
尺寸B:B = creatconn(1,数据 / %其中%。MDB
事实上,第一个参数可以是一个字符串,如果使用了访问,第二个参数可以被输入到相对路径和绝对路径,并且密码也可以在第五个参数中输入,例如:
定义c:C = CreatConn(访问
相关函数:
原型:CreatConn(DBTYPE,strdb,strserver,struid,strpwd)
函数:建立数据库连接字符串
返回值:字符串
参数:
DbType:整数或字符串连接数据库类型
(0或MSSQL)-微软SQL服务器
(1或访问)-微软Office访问
(2或MySQL)- MySQL服务器
(3或Oracle)- Oracle服务器
StrDB:字符串数据库名称或数据库地址(使用绝对或相对路径)访问
strserver:字符串数据库服务器的访问地址,请留下空白
StrUid:字符串访问数据库的用户名,请留空白
StrPwd:字符串数据库密码
原型:OC(connstr)
功能:打开数据库连接
返回值:对象数据库连接对
参数:
connstr:字符串连接数据库的字符串,由CreatConn函数生成
原型:CO(obj)
函数:靠近图像
参数:
Obj:对象的名称要关闭对象
原型:openconn
功能:打开一个默认的数据库连接和自动创建一个名为Conn的连接副
参数:无
原型:closeconn
功能:以Conn的名义关闭默认数据库连接副
参数:无
两。数据库操作
下面是这个数据库操作类函数的功能说明,应该算是手册,请看应用程序的例子。
原型:dbctrl.dbconn(objconn)
函数:获取数据库连接对
参数:
ObjConn:数据库连接,对已经建立的对象
举一个例子:uff1a
昏暗的分贝:设置DB =新dbctrl
db.dbconn = OC(CreatConn(1,E: 网站首页数据 %其中%。MDB
钴(DB)
描述:此属性是可选的,如果不指定此属性,默认的数据连接到一个页面上的Conn名称的数据库连接副。
原型:dbctrl.autoid(字段)
功能:自动获取唯一的序列号(自动编号)
返回值:整数
参数:
表名:字符串需要独特的序列号的数据表名称
举一个例子:uff1a
昏暗的NEWID
NEWID = db.autoid(数据)
写(NEWID)反应。
原型:dbctrl.getrecord(TableName、fieldslist、条件、排序字段如,如图所示)
函数:获取一组符合条件的记录
返回值:对象记录集对
参数:
表名:字符串表的名称
fieldslist字符串字段的名称,用逗号隔开,所有领域的空白
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
排序字段如:字符串排序
显示:整数获得记录数,相当于在SQL中选择top n。
举一个例子:uff1a
昏暗的RS
集= db.getrecord(数据
而not rs.eof
答:写(名字是:RS(1)年龄是: RS(2))
Rs.movenext()
走
db(RS)
对于上面的例子,使用下面的数组模式来指定等价条件:
集= db.wgetrecord(数据
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wgetrecord(数据
如您所见,只需在原始函数之前添加一个w。
原型:dbctrl.getrecordbysql(strselect)
函数:获取基于SQL语句的记录集
返回值:对象记录集对
参数:
strselect:字符串是用来生成SQL语句的Recordset
举一个例子:uff1a
昏暗的RS
集= db.getrecordbysql(选择的ID,a.lastname,B组从用户的innerjoin离开))
你的代码在这里…
db(RS)
原型:dbctrl.getrecorddetail(TableName、条件)
函数:基于指定记录的详细数据
返回值:对象记录集对
参数:
表名:字符串表的名称
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
举一个例子:uff1a
模糊RS,id
ID = request.querystring(ID)
集= db.getrecorddetail(数据
你的代码在这里…
db(RS)
说明:正如您已经看到的,这是最常用的打开详细页面(如新闻内容页)的方法。
原型:dbctrl.addrecord(TableName、valuelist)
函数:添加一个新记录
返回值:Id(成功)或新记录的0(失败)
参数:
表名:字符串表的名称
valuelist:字段和数组的值插入表只能是一个数组应遵循以前的参数规范
举一个例子:uff1a
昏暗的名、联邦软件交易中心,fworkyear,fbirth
名为两王之王
联邦软件交易中心=男
fworkyear = 12
fbirth = CDate(1981-10-23 )
模糊的结果
结果:db.addrecord(数据
如果结果小于0,那么
响应。写入(添加记录成功)!此记录的自动编号ID是结果
最后如果
看,你真的不需要考虑什么类型的领域是。
如果你想在代码的字段和值中更清楚地看到,你可以写这个,但这对你有好处:
结果:db.addrecord(数据
性别:联邦软件交易中心,_
workyear:fworkyear,_
生日fbirth,_
活跃:真实))
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(数据
说明:返回id值是一种更愚蠢的方法,当并发数据量很大时,它不能保证数据的准确性和使用率。
原型:dbctrl.updaterecord(TableName、条件、valuelist)
功能:根据指定的条件更新记录。
返回值:1(成功)或0(失败)
参数:
表名:字符串表的名称
条件:字符串或数组更新条件,如果数组应遵循前面的参数约定
valuelist:的字符串或数组更新字段和值,如果数组应该遵循以前的参数规范
举一个例子:uff1a
昏暗的名,fworkyear
名为三王之王
fworkyear = 10
模糊的结果
结果:db.updaterecord(数据
如果结果小于0,那么
响应。写入()更新数据成功!)
最后如果
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wupdaterecord(数据
原型:dbctrl.deleterecord(TableName、idfieldname,IDValues)
功能:删除限定记录
返回值:1(成功)或0(失败)
参数:
表名:字符串表的名称
idfieldname:字符串表中的ID字段的名称
idvalues:字符串或数组删除的条件,可以多个身份证号码以逗号分隔,如果数组应该按照以前的参数规范
举一个例子:uff1a
结果,模糊的ID
ID =请求。形式(selectid )可以假设得到的值是12, 34, 256、314(由复选框提交的值都是这个)。
结果:db.deleterecord(数据
如果结果小于0,那么
响应。写入()删除数据成功!)
最后如果
当然,您还可以使用字符串或数组来指定其他条件,如:
结果:db.deleterecord(数据
此外,您还可以使用下面的语句来查看这个函数生成的SQL语句:
响应。写(db.wdeleterecord(数据
原型:dbctrl.readtable(TableName、条件、getfieldnames)
函数:根据指定的条件获取记录中其他字段的内容。
返回值:字符串(getfieldnames是单场)或阵列(getfieldnames是多场)
参数:
表名:字符串表的名称
条件:字符串或数组查询条件,如果数组应遵循前面的参数约定
GetFieldNames:单场或多场字符串名称以逗号分隔的名称
举一个例子:uff1a
昏暗的UID,结果
UID = RS(,)的假设,这是一个记录集页面上的用户的ID值
结果:db.readtable(9用户管理表
响应。写入(发布者:结果)
我要说的是,在实际应用中,这个功能可能是最常用的,你上面看到的是一个很常见的例子,增益等于另一场对一个表中的字段值值值(有点笨拙,但它是这个意思)。下面的例子将告诉你如何根据这一价值得到一些相应的值。
昏暗的UID,结果
UID = RS(,)的假设,这是一个记录集页面上的用户的ID值
结果:db.readtable(9用户管理表
响应。写入(发布者:结果(0)性别:结果(1)年龄结果(2))
正如您所看到的,这非常简单,多个字段名的输入是一个数组。
原型:dbctrl C(objrs)。
函数:关闭记录集对
参数:
ObjRs:在目标页记录集对
举一个例子:uff1a
昏暗的RS
集= db.getrecorddetail(数据
你的代码在这里…
db(RS)
这个函数的许多例子都被使用了,而且它们解释不了很多。它相当于关闭:集=没有。
clsdbctrl.rar
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。