一个数据库操作类

  1 None.gif < Option   Explicit  % >  
  2 None.gif <
  3 None.gif ' **************************************************************** 
  4 None.gif'  类名:Cls_dbOperate 
  5 None.gif'  作用:数据库操作类 
  6 None.gif' **************************************************************** 
  7 ExpandedBlockStart.gifContractedBlock.gif Class Cls_dbOperate Class Cls_dbOperate 
  8InBlock.gifPrivate strConn 
  9InBlock.gifPrivate objConn 
 10InBlock.gifPrivate objRs 
 11InBlock.gif
 12InBlock.gifPrivate objRs1 
 13InBlock.gif
 14InBlock.gifPrivate objCmd 
 15InBlock.gifPrivate strTable 
 16InBlock.gifPrivate strField 
 17InBlock.gifPrivate strFieldValue '字段 
 18InBlock.gifPrivate strOrderBy 
 19InBlock.gifPrivate strCondition 
 20InBlock.gifPrivate strSql 
 21InBlock.gifPrivate dbFile '数据库文件路径名,此处最好是用到配置文件 
 22InBlock.gifPrivate ID 
 23InBlock.gifPrivate Status '====命令状态提示符号!0-成功;1-失败 
 24InBlock.gif
 25ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Class_Initialize()Sub Class_Initialize() 
 26InBlock.gifstrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(SitePath & DbFilePath) 
 27ExpandedSubBlockEnd.gifEnd Sub
 
 28InBlock.gif
 29InBlock.gif'*** 临时设置连接字符串 
 30ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub setConnString()Sub setConnString(ByRef sConn) 
 31InBlock.gifstrConn = sConn 
 32ExpandedSubBlockEnd.gifEnd Sub
 
 33InBlock.gif
 34InBlock.gif'*** 关闭对象 
 35ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub ClearObject()Sub ClearObject(ByRef obj) 
 36InBlock.gifOn Error Resume Next 
 37InBlock.gifIf IsObject(obj) = True Then 
 38InBlock.gifobj.Close() 
 39InBlock.gifSet obj = Nothing 
 40InBlock.gifEnd If 
 41InBlock.gifIf Err.Number <> 0 Then Err.Clear 
 42ExpandedSubBlockEnd.gifEnd Sub
 
 43InBlock.gif'*** 创建连接对象 
 44ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Connection()Sub Connection() 
 45InBlock.gifCall ClearObject(objConn) 
 46InBlock.gifSet objConn = Server.CreateObject("ADODB.Connection"
 47InBlock.gifobjConn.Open strConn 
 48ExpandedSubBlockEnd.gifEnd Sub
 
 49InBlock.gif'*** 关闭连接 
 50ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub ClearConnection()Sub ClearConnection() 
 51InBlock.gifClearObject(objConn) 
 52ExpandedSubBlockEnd.gifEnd Sub
 
 53InBlock.gif
 54InBlock.gif'*** 创建记录集 
 55ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Recordset()Sub Recordset() 
 56InBlock.gifClearObject(objRs) 
 57InBlock.gifSet objRs = Server.CreateObject("ADODB.Recordset"
 58ExpandedSubBlockEnd.gifEnd Sub
 
 59InBlock.gif
 60InBlock.gif'*** 关闭记录集 
 61ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub ClearRecordSet()Sub ClearRecordSet() 
 62InBlock.gifCall ClearObject(objRs) 
 63ExpandedSubBlockEnd.gifEnd Sub
 
 64InBlock.gif
 65InBlock.gif'*** 创建命令对象 
 66ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Command()Sub Command() 
 67InBlock.gif'Call ClearObject(objCmd) 
 68InBlock.gifConnection() 
 69InBlock.gifSet objCmd = Server.CreateObject("ADODB.Command"
 70InBlock.gifobjCmd.ActiveConnection = objConn 
 71ExpandedSubBlockEnd.gifEnd Sub
 
 72InBlock.gif
 73ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub ClearCommand()Sub ClearCommand 
 74InBlock.gifCall ClearObject(objcmd) 
 75ExpandedSubBlockEnd.gifEnd Sub
 
 76InBlock.gif
 77InBlock.gif'*** 相关处理状态信息 
 78InBlock.gif'*** Msg:提示信息 
 79InBlock.gif'*** IsSucceed : 是否成功执行命令 选项:1-失败并且停止处理,0-成功 
 80ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Message()Sub Message(Msg,IsSucceed) 
 81InBlock.gifIf IsSucceed = 1 Then 
 82InBlock.gifStatus = 1 
 83InBlock.gifResponse.Write(Msg) 
 84InBlock.gifResponse.End() 
 85InBlock.gifElse 
 86InBlock.gifStatus = 0 
 87InBlock.gifEnd If 
 88ExpandedSubBlockEnd.gifEnd Sub
 
 89InBlock.gif
 90InBlock.gif'*** 数组长度比较 
 91ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Function Compare()Function Compare(ByRef CompA,ByRef CompB) 
 92InBlock.gifIf Eval(CompA = CompB) = False Then 
 93InBlock.gifCompare = 1 
 94InBlock.gifCall ErrMsg("相关条件不匹配"
 95InBlock.gifElse 
 96InBlock.gifCompare = 0 
 97InBlock.gifEnd If 
 98ExpandedSubBlockEnd.gifEnd Function
 
 99InBlock.gif
100InBlock.gif'******* 检查记录是否存在,返回 0-存在;1-不存在 
101ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Function IsIDExists()Function IsIDExists() 
102InBlock.gifDim strTemp 
103InBlock.gifstrTemp = "Select ID From "& strTable & " Where ID = " & ID 
104InBlock.gifConnection() 
105InBlock.gifRecordset() 
106InBlock.gifobjRs.Open strTemp,objConn,1,1 
107InBlock.gifIf objRs.EOF Then 
108InBlock.gifIsIDExists = 1 
109InBlock.gifElse 
110InBlock.gifIsIDExists = 0 
111InBlock.gifEnd If 
112InBlock.gifClearConnection() 
113InBlock.gifClearRecordSet() 
114ExpandedSubBlockEnd.gifEnd Function
 
115InBlock.gif
116InBlock.gif
117ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let SetID(ByRef intID) 
118InBlock.gifID = intID 
119ExpandedSubBlockEnd.gifEnd Property
 
120InBlock.gif
121InBlock.gif'* 获得表名 
122ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let TableName(ByVal strTableName) 
123InBlock.gifstrTable = strTableName 
124ExpandedSubBlockEnd.gifEnd Property
 
125InBlock.gif
126InBlock.gif'* 获得表字段 
127ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let Fields(ByVal strFieldName) 
128InBlock.gifstrField = strFieldName 
129ExpandedSubBlockEnd.gifEnd Property
 
130InBlock.gif
131InBlock.gif'* 获取值 
132ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let FieldsValue(ByVal Values) 
133InBlock.gifstrFieldValue = Values 
134ExpandedSubBlockEnd.gifEnd Property
 
135InBlock.gif
136InBlock.gif'* 筛选条件 
137ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let Condition(ByVal strWhere) 
138InBlock.gifstrCondition = strWhere 
139ExpandedSubBlockEnd.gifEnd Property
 
140InBlock.gif
141InBlock.gif'* 排序,查询的时候需要用到 
142ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let orderBy(ByRef orderByID) 
143InBlock.gifstrOrderBy = orderByID 
144ExpandedSubBlockEnd.gifEnd Property
 
145InBlock.gif
146InBlock.gif'* 查询时候用的 
147ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub doQuery()Sub doQuery(ByRef PreArray) 
148InBlock.gifstrSql = "" 
149InBlock.gifstrSql = "Select " 
150InBlock.gifDim i,flag,ArrTemp 
151InBlock.gifflag = 0 
152InBlock.gifIf strField = "" Then 
153InBlock.gifstrField = " * " 
154InBlock.gifElse 
155InBlock.gifstrField = Replace(strField,Spliter,","
156InBlock.gifEnd If 
157InBlock.gifstrSql = strSql & strField 
158InBlock.gifstrSql = strSql & " From " & strTable 
159InBlock.gifIf strCondition <> "" Then 
160InBlock.gifstrSql = strSql & " Where " & strCondition 
161InBlock.gifElse 
162InBlock.gifIf ID <> "" Then strSql = strSql & " Where ID = " & ID 
163InBlock.gifEnd If 
164InBlock.gifIf strOrderBy <> "" Then 
165InBlock.gifstrSql = strSql & strOrderBy 
166InBlock.gifEnd If 
167InBlock.gifResponse.Write strSql 
168InBlock.gif
169InBlock.gifExecuteQuery PreArray 
170ExpandedSubBlockEnd.gifEnd Sub
 
171InBlock.gif
172InBlock.gif'* 修改 
173ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub doUpdate()Sub doUpdate() 
174InBlock.gifIf IsIDExists()= 0 Then 
175InBlock.gifDim ArrField,ArrFieldValue 
176InBlock.gifstrSql = "" 
177InBlock.gifArrField = "" 
178InBlock.gifArrFieldValue = "" 
179InBlock.gifArrField = Split(strField,Spliter) 
180InBlock.gifArrFieldValue = Split(strFieldValue,Spliter) 
181InBlock.gifIf Compare(Ubound(ArrField),UBound(ArrFieldValue)) <> 0 Then Exit Sub 
182InBlock.gifstrSql = "Update " & strTable & " Set " 
183InBlock.gifFor i = 0 To Ubound(ArrField) 
184InBlock.gifIf IsNumeric(ArrFieldValue(i)) = False Then 
185InBlock.gifstrSql = strSql & ArrField(i) & " = '" & ArrFieldValue(i) & "'" 
186InBlock.gifIf i <> UBound(ArrField) Then strSql = strSql & " , " 
187InBlock.gifElse 
188InBlock.gifstrSql = strSql & ArrField(i) & " = " & ArrFieldValue(i) 
189InBlock.gifIf i <> UBound(ArrField) Then strSql = strSql & " , " 
190InBlock.gifEnd If 
191InBlock.gifNext 
192InBlock.gifIf strCondition <> "" Then 
193InBlock.gifstrSql = strSql & " where " & strCondition 
194InBlock.gifElse 
195InBlock.gifstrSql = strSql & " where ID = " & ID 
196InBlock.gifEnd If 
197InBlock.gif
198InBlock.gifResponse.Write strSql 
199InBlock.gifExecuteNoQuery() 
200InBlock.gifStatus = 0 
201InBlock.gifElse 
202InBlock.gifMessage "请设置正确的ID",1 
203InBlock.gifEnd If 
204ExpandedSubBlockEnd.gifEnd Sub
 
205InBlock.gif
206InBlock.gif'* 添加 
207ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub doAdd()Sub doAdd() 
208InBlock.gifDim ArrFieldValue,ArrField,i 
209InBlock.gifArrField = "" 
210InBlock.gifArrFieldValue = "" 
211InBlock.gifstrSql = "" 
212InBlock.gifArrField = Split(strField,Spliter) 
213InBlock.gifArrFieldValue = Split(strFieldValue,Spliter) 
214InBlock.gifIf Compare(Ubound(ArrField),UBound(ArrFieldValue)) <> 0 Then Exit Sub 
215InBlock.gifstrField = Replace(strField,Spliter,","
216InBlock.gifstrSql = "Insert into " & strTable & "(" & strField & ") Values(" 
217InBlock.gifFor i = 0 To Ubound(ArrFieldValue) 
218InBlock.gifIf IsNumeric(ArrFieldValue(i)) = False Then 
219InBlock.gifstrSql = strSql & "'" & ArrFieldValue(i) & "'" 
220InBlock.gifIf i <> Ubound(ArrFieldValue) Then strSql = strSql & "," 
221InBlock.gifElse 
222InBlock.gifstrSql = strSql & ArrFieldValue(i) 
223InBlock.gifIf i <> Ubound(ArrFieldValue) Then strSql = strSql & "," 
224InBlock.gifEnd If 
225InBlock.gifNext 
226InBlock.gifstrSql = strSql & ")" 
227InBlock.gif
228InBlock.gifResponse.Write strSql 
229InBlock.gifExecuteNoQuery() 
230ExpandedSubBlockEnd.gifEnd Sub
 
231InBlock.gif
232ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub doDelete()Sub doDelete() 
233InBlock.gifIf IsIDExists()= 0 Then 
234InBlock.gifstrSql = "" 
235InBlock.gifIf ID = "" or strCondition = "" Then strSql = "" 
236InBlock.gifIf ID <> "" Then strSql = "Delete * From " & strTable & " Where ID = " &ID 
237InBlock.gifIf strCondition <> "" Then strSql = "Delete * From " & strTable & " Where " & strCondition 
238InBlock.gifResponse.Write strSql 
239InBlock.gifExecuteNoQuery() 
240InBlock.gifStatus = 0 
241InBlock.gifElse 
242InBlock.gifMessage "请设置正确的ID",1 
243InBlock.gifEnd If 
244ExpandedSubBlockEnd.gifEnd Sub
 
245InBlock.gif
246InBlock.gif'为自己写完整的 Sql 语句做准备 
247ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Property Let()Property Let SetSql(ByRef Sql) 
248InBlock.gifstrSql = "" 
249InBlock.gifstrSql = Sql 
250ExpandedSubBlockEnd.gifEnd Property
 
251InBlock.gif
252InBlock.gif'执行 Sql 语句。返回无集录集的语句 
253ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub ExecuteNoQuery()Sub ExecuteNoQuery() 
254InBlock.gifIf strSql <> "" Then 
255InBlock.gifCommand() 
256InBlock.gifWith objCmd 
257InBlock.gif.CommandText = strSql 
258InBlock.gif.Execute 
259InBlock.gifEnd With 
260InBlock.gifEnd If 
261ExpandedSubBlockEnd.gifEnd Sub
 
262InBlock.gif
263InBlock.gif'执行 Sql 语句。返回有记录集的语句,这里的 objRecordset 应该为一个 Recordset 对象 
264ExpandedSubBlockStart.gifContractedSubBlock.gifPublic Sub ExecuteQuery()Sub ExecuteQuery(ByRef PreArray) 
265InBlock.gifRecordset() 
266InBlock.gifCommand() 
267InBlock.gifobjCmd.CommandText = strSql 
268InBlock.gifSet objRs = objCmd.Execute 
269InBlock.gifResponse.Write strsql 
270InBlock.gif'执行 Sql 语句 
271InBlock.gif'为方便前台调用,在这里将在外部生成一个2维数组,故在调用前请在外部声明一个变量 
272InBlock.gif' ExecuteQuery 
273InBlock.gifIf Not objRs.EOF Then PreArray = objRs.GetRows() 
274InBlock.gifClearRecordSet() 
275InBlock.gifClearConnection() 
276InBlock.gifClearCommand() 
277ExpandedSubBlockEnd.gifEnd Sub
 
278InBlock.gif
279ExpandedSubBlockStart.gifContractedSubBlock.gifPrivate Sub Class_Terminate()Sub Class_Terminate() 
280InBlock.gifIf objConn.State = 1 Then 
281InBlock.gifCall ClearConnection() 
282InBlock.gifEnd If 
283InBlock.gifOn Error Resume Next 
284InBlock.gifCall ClearRecord() 
285InBlock.gifCall ClearCommand() 
286ExpandedSubBlockEnd.gifEnd Sub
 
287InBlock.gif
288InBlock.gif
289ExpandedBlockEnd.gifEnd Class
 
290 None.gif
291 None.gif
292 None.gif
293 None.gif ' =========使用示例 
294 None.gif Dim  test,i 
295 None.gif Dim  t 
296 None.gif Set  test  =   New  Cls_dbOperate 
297 None.gif
298 None.gif With  test 
299 None.gif.TableName  =   " NewsCategory "  
300 None.gif.Fields  =   " ID|||NewsCateName|||BelongID "  
301 None.gif '  .SetID = 5 
302 None.gif'  .Condition = "ABC = 4" 
303 None.gif' 查询用的 
304 None.gif .doQuery t 
305 None.gif
306 None.gif '  ==========第二种方式 
307 None.gif'  .SetSql = "Select ID,NewsCateName,BelongID From NewsCategory" 
308 None.gif'  .ExecuteQuery t 
309 None.gif
310 None.gif ' 修改用的 
311 None.gif .SetID  =   1  
312 None.gif.Fields  =   " BelongID "  
313 None.gif.FieldsValue  =   3  
314 None.gif.doUpdate 
315 None.gif
316 None.gif ' 添加用的 
317 None.gif .Fields  =   " NewsCateName|||BelongID "  
318 None.gif.FieldsValue  =   " 我的测试|||0 "  
319 None.gif.doAdd 
320 None.gif
321 None.gif ' 删除时使用 
322 None.gif .SetID  =   68  
323 None.gif.TableName  =   " NewsCategory "  
324 None.gif.doDelete 
325 None.gif
326 None.gif End   With  
327 None.gif% >  
328 None.gif
329 None.gif < If   IsArray (t)  =   True   Then  % >  
330 None.gif < table border = ' 1' width='300'> 
331 None.gif <
332 None.gif For  i  =   0   To   UBound (t, 2 ) % >  
333 None.gif < tr >  
334 None.gif < td >< % = t( 0 ,i)% ></ td >  
335 None.gif < td >< % = t( 1 ,i)% ></ td >  
336 None.gif < td >< % = t( 2 ,i)% ></ td >  
337 None.gif </ tr >  
338 None.gif < Next  % >  
339 None.gif </ table >  
340 None.gif <
341 None.gif Else  
342 None.gifResponse.Write  " 错误,没有数据 "  
343 None.gif End   If  
344 None.gif% >

转载于:https://www.cnblogs.com/Liaoyizhi/archive/2007/07/31/837720.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值