投递文章投递文章 投稿指南投稿指南 RSS订阅RSS订阅

ASP操作数据库的类大全

来源:蓝色理想论坛 发布时间:2007-11-12 收藏 投稿 字体:【

原  型:dbCtrl.AutoID(TableName)
功  能:自动获取唯一序列号(自动编号)
返回值:Integer
参  数:
TableName : String  需要获得唯一序列号的数据表名
举 例:
Dim newId
newId = db.AutoId("TestTable")
Response.Write(newId)
原  型:dbCtrl.GetRecord(TableName,FieldsList,Condition,OrderField,ShowN)
功  能:取得符合条件的纪录集
返回值:Object 纪录集对象
参  数:
TableName  : String  表名称
FieldsList     : String  字段名称,用逗号隔开,留空则为全部字段
Condition     : String or Array  查询条件,如果是数组应遵循前面的参数约定
OrderField   : String  排序方式
ShowN        : Integer 获取纪录的数量,相当于sql中的 Select Top N
举 例:
Dim rs
Set rs = db.GetRecord("TestTable","fId,fName,fAge","fSex='男' And IsActive = 1","fName Asc", 0)
While Not rs.eof
  Response.Write ("Name is:" & rs(1) & " Age is:" & rs(2) & "<br />")
  rs.movenext()
Wend
db.C(rs)
对于以上的例子,用下面的数组方式指定条件是等价的:

Set rs = db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:男","IsActive:1"), "fName Asc", 0)
另外,你可以用下面的语句来查看这个函数生成的sql语句:

Response.Write(db.wGetRecord("TestTable","fId,fName,fAge", Array("fSex:男","IsActive:1"), "fName Asc", 0))
如你所见,只需要在原来的函数前加一个w即可。

原  型:dbCtrl.GetRecordBySQL(strSelect)
功  能:根据sql语句取得纪录集
返回值:Object 纪录集对象
参  数:
strSelect  :  String  用于生成记录集的SQL语句
举 例:
Dim rs
Set rs = db.GetRecordBySQL("Select a.Id, a.LastName, b.Group From User a InnerJoin Depart b On a.GroupId = b.GroupId")
'Your Code Here ...
db.C(rs)
原  型:dbCtrl.GetRecordDetail(TableName, Condition)
功  能:根据某一条指定纪录的详细数据
返回值:Object 纪录集对象
参  数:
TableName  : String  表名称
Condition     : String or Array  查询条件,如果是数组应遵循前面的参数约定
举 例:
Dim rs, Id
Id = Request.QueryString("id")
Set rs = db.GetRecordDetail("TestTable","Id=" & id)
'Your Code here...
db.C(rs)
说  明:就像你已经看出来的一样,这个最常用在打开某个详细页面(比如新闻内容页面)

原  型:dbCtrl.AddRecord(TableName, ValueList)
功  能:添加一个新的纪录
返回值:新记录的Id号(成功) or 0 (失败)
参  数:
TableName : String  表名称
ValueList     : Array  插入表的字段和值,只能是数组且应遵循前面的参数约定
举 例:
Dim fName, fSex, fWorkYear, fBirth
fName = "王二坛"
fSex = "男"
fWorkYear = 12
fBirth = Cdate("1981-10-23")
Dim result
result = db.AddRecord("TestTable",Array("Name:"&fName, "Sex:"&fSex, "WorkYear:"&fWorkYear, "Birthday:"&fBirth, "IsActive:True"))
If result<>0 Then
    Response.Write("添加记录成功!此记录的自动编号Id为" & result)
End If
看见了吧,真的不用考虑字段的类型是什么滴。
如果你想要代码中的字段和值看得更清楚一点,也可以这样写,但凭卿之所好:

result = db.AddRecord("TestTable",Array("Name:" & fName,_
                                        "Sex:" & fSex,_
                                        "WorkYear:" & fWorkYear,_
                                        "Birthday:" & fBirth,_
                                        "IsActive:True"))
另外,你可以用下面的语句来查看这个函数生成的sql语句:

Response.Write(db.wAddRecord("TestTable",Array("Name:"&fName, "Sex:"&fSex, "WorkYear:"&fWorkYear, "Birthday:"&fBirth, "IsActive:True")))
说  明:返回的Id值用的是比较笨的方法,并不能保证在并发数据量大的时候的准确性,慎用。

最新5条评论 查看所有评论
评论内容:请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名 注册
热门文章
随机推荐
About iTtang - 联系方法  - 专题列表 - 友情链接  -  高级搜索   -  帮助中心  -