<!-- 蛙蛙推荐:VBS的数据库操作类,这个类实现了平时主要的数据库操作,因为我们天天都在和数据库打交道,有时候用这样一个类也挺方便的,但是不知道实用性怎么样,因为在性能和错误处理方面没有做很多考虑,所以不知道它的通用性如何. 如果谁能再给这个类加上动态的错误处理的或者优化一下性能,就更完美了.PS:做这个类也是为了练习一下VBS类的使用. --> <% class classado Private conn_c Private rs_c Public strconn Private Sub Class_Initialize'定义类的初始化事件 End Sub Private Sub Class_Terminate ' 设置 Terminate 事件。 '定义类的清空事件 rs_c.close set rs_c=nothing conn_c.close set conn_c=nothing End Sub
Public Function opendb() '打开数据库 if isempty(strconn) then response.Write("没有设置数据库连接字符串") response.end end if if isempty(conn_c) then Set conn_c=Server.CreateObject("ADODB.Connection") conn_c.open strconn else response.Write("数据库已经打开了") response.end end if End Function Public Function getrs(ByVal strsql) '获取记录集 if isempty(conn_c) then opendb() end if Set rs_c=Server.CreateObject("ADODB.RecordSet") rs_c.Open strsql,conn_c,1,1 Set getrs=rs_c End Function Public Function exesql(ByVal strsql) '执行一条sql语句,用来插入,更新,删除记录 if isempty(conn_c) then opendb() end if conn_c.execute(strsql) End Function end class %> <% 'on error resume next '调试程序的时候请把此句去掉 strconn="Driver={sql server};server=192.168.0.110;database=northwind;uid=sa;pwd=sa;" set c=new classado c.strconn=strconn c.opendb() strsql="SELECT EmployeeID,TitleOfCourtesy + '' + LastName + '' + FirstName AS fullname FROM Employees" arr_wawa=c.getrs(strsql).getrows() set rs=c.getrs(strsql) %> <table width="100%" border="0" cellspacing="1"> <% If not rs.eof Then for i=0 to rs.fields.count-1 response.write rs.fields(i).name&" " next response.write "<br>" do while not rs.eof for i=0 to rs.fields.count-1 response.write rs.fields(i).value&" " next response.write "<br>" rs.movenext loop end if %> <hr>
<table width="100%" border="0" cellspacing="1"> <% If not isempty(arr_wawa) Then %> <% for i=0 to ubound(arr_wawa,2) %> <tr> <% for j=0 to ubound(arr_wawa,1) %> <td><%= arr_wawa(j,i) %></td> <% next %> </tr> <% next %> <% Else %> <tr> <td>没有记录</td> </tr> <% End If %>
|