rs_field(),字段名数组,0编号数组为关键字字段
rs_type(),字段类型数组 1、整型 2、字符串 3、真值 4、日期时间
str_field(),返回记录数组
strsql,数据库查询语句
str_error,错误提示
'****************************************获得记录
sub get_record(rs_colnum,rs_field(),rs_type(),str_field(),strsql,str_error)
dim resbuff
dim i
set resbuff=server.CreateObject("adodb.recordset")
resbuff.open strsql,conn,1,1
if err.number <> 0 then
response.write "数据库操作失败:"&err.description
response.redirect"error.htm"
else
if not resbuff.eof and not resbuff.bof then
for i=1 to rs_colnum
if rs_field(i)<>"" then
Select Case rs_type(i)
Case 1
str_field(i)=resbuff(rs_field(i))
Case 2
str_field(i)=resbuff(rs_field(i))
Case 3
str_field(i)=get_field_if(resbuff(rs_field(i)),"1","0")
Case 4
str_field(i)=resbuff(rs_field(i))
Case Else
str_field(i)=resbuff(rs_field(i))
End Select
end if
next
else
' response.Redirect("../public/error.asp?strerror="& str_error)
end if
end if
resbuff.close
set resbuff=nothing
end sub
'*****************************添加记录,关键字为数据库自动编号
sub add_record(rs_colnum,rs_field(),rs_type(),str_field(),strsql,str_error)
dim resbuff
dim i
set resbuff=server.CreateObject("adodb.recordset")
resbuff.open strsql,conn,1,2
if err.number <> 0 then
response.write "数据库操作失败:"&err.description
response.redirect"error.htm"
else
if resbuff.eof and resbuff.bof then
resbuff.addnew
for i=1 to rs_colnum
Select Case rs_type(i)
Case 1 'intege
resbuff(rs_field(i))=cint(str_field(i))
Case 2 'string
resbuff(rs_field(i))=str_field(i)
Case 3
resbuff(rs_field(i))= getif(str_field(i),"1")
Case 4 'date
resbuff(rs_field(i))=cdate(str_field(i))
Case 5
resbuff(rs_field(i))= csng(str_field(i))
Case Else
resbuff(rs_field(i))=str_field(i)
End Select
next
resbuff.update
else
response.Redirect("../public/error.asp?strerror=" & str_error)
end if
end if
resbuff.close
set resbuff=nothing
end sub
'**********************添加记录,提供用户关键字***************************
sub add_record_key(rs_colnum,rs_field(),rs_type(),str_field(),strsql,str_error)
dim resbuff
dim i
set resbuff=server.CreateObject("adodb.recordset")
resbuff.open strsql,conn,1,2
if err.number <> 0 then
response.write "数据库操作失败:"&err.description
response.redirect"error.htm"
else
if resbuff.eof and resbuff.bof then
resbuff.addnew
for i=0 to rs_colnum-1
Select Case rs_type(i)
Case 1 'intege
resbuff(rs_field(i))=cint(str_field(i))
Case 2 'string
resbuff(rs_field(i))=str_field(i)
Case 3
resbuff(rs_field(i))= getif(str_field(i),"1")
Case 4 'date
resbuff(rs_field(i))=cdate(str_field(i))
Case 5
resbuff(rs_field(i))= csng(str_field(i))
Case Else
resbuff(rs_field(i))=str_field(i)
End Select
next
resbuff.update
else
response.Redirect("../public/error.asp?strerror=" & str_error)
end if
end if
resbuff.close
set resbuff=nothing
end sub
'***************************更新记录******************************
sub update_record(rs_colnum,rs_field(),rs_type(),str_field(),strsql,str_error)
dim resbuff
dim i
set resbuff=server.CreateObject("adodb.recordset")
resbuff.open strsql,conn,1,2
if err.number <> 0 then
response.write "数据库操作失败:"&err.description
response.redirect"error.htm"
else
if not resbuff.eof and not resbuff.bof then
for i=1 to rs_colnum
Select Case rs_type(i)
Case 1
resbuff(rs_field(i))=cint(str_field(i))
Case 2
resbuff(rs_field(i))=str_field(i)
Case 3
resbuff(rs_field(i))= getif(str_field(i),"1")
Case 4
resbuff(rs_field(i))= cdate(str_field(i))
Case 5
resbuff(rs_field(i))= csng(str_field(i))
Case Else
resbuff(rs_field(i))=str_field(i)
End Select
next
resbuff.update
else
response.Redirect("../public/error.asp?strerror=" & str_error)
end if
end if
resbuff.close
set resbuff=nothing
end sub
'****************************删除记录**********************
sub del_record(ifcheck,sql_num,sql(),str_error)
dim resbuff
dim i
dim strsql
if ifcheck=1 then
set resbuff=server.createobject("adodb.recordset")
for i=1 to sql_num
resbuff.open sql(i) & key_id,conn,1,1
if err.number <> 0 then
response.write "数据库出错"
else
if resbuff.RecordCount>0 then
response.Redirect("../public/error.asp?strerror=" & str_error)
end if
end if
resbuff.close
next
set resbuff=nothing
end if
conn.execute sql(0)
end sub