我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp数据库/打印 > 自动获取表格数据添加,修改数据库数据的类
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

自动获取表格数据添加,修改数据库数据的类 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-23

此类个人觉得是很有用的!!!对于以后提交表单数据,不用再一个一个去写了,直接引用该类,再SAVE或EDIT即可,简单多了,但当然,因为它不是智能的,所以对于某些数据格式是不能做核查的!!使用示例代码如下:
<%
Dim action
action=Request("action")
If action="save" Then
Dim objClass
Set objClass=New SaveFormData
objClass.MDBFile=Server.Mappath("data/data.mdb")
'objClass.SaveRecord "number","*","id"
objClass.SaveRecord "number","Num1,text",""
'objClass.EditRecord "number","*","id=15","id"
Set objClass=Nothing
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form name="form1" method="post" action="index.asp?action=save">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="19%" height="20">Num1</td>
<td width="81%"><input name="num1" type="text" id="num1"></td>
</tr>
<tr>
<td height="20">Num2</td>
<td><input name="num2" type="text" id="num2"></td>
</tr>
<tr>
<td height="20">Num3</td>
<td><input name="num3" type="text" id="num3"></td>
</tr>
<tr>
<td height="20">Text</td>
<td><input name="Text" type="text" id="Text"></td>
</tr>
<tr>
<td height="20">&nbsp;</td>
<td><input type="submit" name="Submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>




类的说明:

如果是使用ACCESS数据库,则首先指定数据库的绝对地址![Obj].MDBFile=“数据库文件地址“
如果不是ACCESS数据库,则指定类对象的CONN属性,示例:Set [Obj].Conn=[Connection对象]

然后就可以使用
[Obj].SaveRecord(“表名“,“填加字段名列表“,“不填加字段名列表”) = 新增加数据
说明: 此方法返回True或False,True则新填加新数据成功,否则失败!
“表名”:要填表加新记录数据的数据表名
“填加字段名列表”:新添数据时的字段名,用“逗号”隔开,如:“name,word,sex“
“不填加字段名列表”:添加数据时对此字段列表里包括的字段不进行添加操作。
[Obj].SaveRecord “User“,“*“,“id“

[Obj].EditRecord(“表名“,“修改字段名列表“,“修改条件”,“不修改字段列表“)=修改某条数据
“表名”,“修改字段列表”和“不修改字段列表”同SAVERECORD方法一样!
“修改条件”:SQL查询条件,不带“WHERE”
示例:[Obj].EditRecord “User“,“Pass,Sex“,“id=22“,““

注意:“填加字段列表”和“修改字段列表”可以使用“”值或“*”值,表明修改所有字段,但建议此时“不填加字段名列表”和“不修改字段名列表”里写上“自动增加”型的字段名,要不然填加或修改数据时将会失败!


类代码:
<%
'/*****************************************************************************************
Class SaveFormData
Private C_ErrNumber '错误返回代码
Private C_NumericAllowNull '数字型字段时是否允许接收非数字值,True = 可以(非数字值时用0代替) False = 不可以(非数字值时将会出错,ErrNumber = 9)
Private C_DateTimeAllowNull '日期时间型字段时是否允许接收非日期时间,True = 可以(非日期时间值时用(Now)代替) False = 不可以(非日期时间值时将会出错,ErrNumber = 10)
Private C_Conn '数据库CONN连接对象
Private C_MDBFile 'ACCESS数据库文件地址,如果不是设置CONN属性,则该属性一定不能为空!

Private Sub Class_Initialize
C_Conn=Null
C_NumericAllowNull=True
C_DateTimeAllowNull=True
End Sub

Private Sub Class_Terminate
If Not IsNothing(C_Conn) Then
C_Conn.Close
Set C_Conn=Nothing
End If
End Sub
'/***************************************************************************
'/* 设置/返回Conn对象
'/*说明:添加这个是为了其它数据库(如:MSSQL)
'/***************************************************************************
Public Property Set Conn(sNewValue)
On Error Resume Next
If Not IsNothing(sNewValue) Then
C_Conn.Close
Set C_Conn=Nothing
End If
Set C_Conn=sNewValue
End Property
Public Property Get Conn
If Not IsNothing(C_Conn) Then
Set Conn=C_Conn
Else
Conn=Null
End If
End Property
'/***************************************************************************
'/* 设置/返回数据库文件
'/*说明:
'/***************************************************************************
Public Property Let MDBFile(sNewValue)
If Trim(sNewValue)<>C_MDBFile Then '如果数据库文件改变则重新建立CONN对象
C_MDBFile=Trim(sNewValue)
Call ReCreateConn
End If
End Property
Public Property Get MDBFile
MDBFile=C_MDBFile
End Property
'/***************************************************************************
'/* 设置/返回错误代码
'/*说明:
'/***************************************************************************
Public Property Get ErrNumber
ErrNumber=C_ErrNumber
End Property
Public Sub ClearErr
C_ErrNumber=0
End Sub
'/***************************************************************************
'/* 设置/返回NumericAllowNull(数值型字段是否允许空值)
'/*说明:
'/***************************************************************************
Public Property Let NumericAllowNull(sNewValue)
C_NumericAllowNull=CBool(sNewValue)
End Property
Public Property Get NumericAllowNull
NumericAllowNull=C_NumericAllowNull
End Property
'/***************************************************************************
'/* 设置/返回DateTimeAllowNull(数值型字段是否允许空值)
'/*说明:
'/***************************************************************************
Public Property Let DateTimeAllowNull(sNewValue)
C_DateTimeAllowNull=CBool(sNewValue)
End Property
Public Property Get DateTimeAllowNull
DateTimeAllowNull=C_DateTimeAllowNull
End Property

'/***************************************************************************
'/* 通过数据库的所有字段表进行获取数据并保存
'/*说明:sTable = 表名 sFields = 要保存的字段名 NotFields = 不保存的字段名
'/***************************************************************************
Public Function SaveRecord(ByVal sTable,ByVal sFields,ByVal NotFields)
On Error Resume Next
Dim Rs,i,sText,sItem
Dim dArray()
Call InitConn
If IsNull(C_Conn) Then
ErrNumber = 1 'ErrNumber = 1 保存数据进数据库时出未知错误
SaveRecord=False
Exit Function
End If
Set Rs = server.CreateObject("ADODB.Recordset")
If Trim(sFields)="" Then sFields="*"
NotFields=","&NotFields&","

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。