热搜词
发表于 2008-2-18 10:10:58 | 显示全部楼层 |阅读模式
<p>&nbsp;&nbsp;&nbsp; 对于ADO(ActiveX Data Object),大家已经听得比较多了,但对于ADO的实际应用,可能就没那么清楚了。今天我就来讲一讲ASP处理数据用的组件ADO,看过之后你就知道它原来是那么简单。 </p><p>  首先让我们看看如何用ASP结合connection属性创建一个数据库连接。 </p><p>  字符串形式连接一个SQL Server库 <br />&lt; % <br />set conn=server.CreateObject ("adodb.connection") <br />’创建一个Connection属性的对象conn <br />conn.Open "driver={SQL Server};server=localhost;UID=username;PWD=password;database=dataname" <br />’用conn.对象的open方法创建一个对SQL Server数据库的连接 <br />% &gt; </p><p>  代码中conn的open方法是打开一个连接用的,后边跟一个字符串。driver={SQL Server}的意思是,连接的是一个SQL Server的库,server=localhost中的localhost代表的是本机的IP,你的数据库服务器IP是多少,这里就改成相应的值,UID和PWD这两个是登录数据库服务器的用户名和密码,最后一个选项是你要操作的数据库的名字。 </p><p>  好了,数据库我们连接上了,下边该讲一下如何读取数据了。 </p><p>  首先让我们来创建一个recordset属性的对象set rs=server.CreateObject ("ADODB.Recordset"),然后用对象rs来打开一个记录集。 <br />rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1 </p><p>  这是用对象rs的open方法打开一个记录集,后边跟了三个参数用逗号分开。第一个参数是选取数据用的T-SQL语句。第二个是我们已经创建好连接的connection属性的对象conn。最后边两个参数用法比较多,如果只读取数据,设置“1,1”就足够了,如果要添加数据,设置“1,2”,如果要改写数据最好设置“2,3”,这两个参数一定要切记。好了,现在让我们来对数据做些处理吧。 </p><p>  一、显示数据 </p><p>&lt; % <br />set conn=server.CreateObject ("adodb.connection") <br />conn.Open "driver={SQL Server};server=localhost;UID=username;PWD=password;database=dataname" <br />set rs=server.CreateObject ("ADODB.Recordset") <br />rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1 <br />if rs.eof and rs.bof then ’如果数据指针同时指到记录集的头部和尾部,说明这时候记录集为空 <br />response.write“没有可以显示的数据” ’打印“没有可以显示的数据” <br />do until rs.EOF ’循环 直到记录集尾部为止 <br />response.write rs(“字段1名”) ’显示一个行的一个字段 <br />response.write rs(“字段2名”) ’同上 <br />response.write rs(“字段3名”) ’同上 <br />response.write “<br />” ’一个行打印完毕,换行 <br />rs.MoveNext ’将数据指针移到下一个行 <br />loop ’循环结束 <br />% &gt; </p><p>  rs.bof,rs.eof和rs.movenext这三个方法都是跟数据指针有关的,前两个rs.bof和rs.eof用来判断数据指针是否在记录集的开始或者末尾,它们都会返回一个布尔值。rs.movenext跟前两个就大不相同了,它是用来控制数据指针的,让指针移动到下一位,我们能把一个表的多个行显示出来也就是靠它。 </p><p><br />二、添加数据 <br />&lt; % <br />……’代码与前同,略 <br />rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,2 ’这里我们要添加数据,所以把参数改成了1,2 <br />rs.addnew ’告诉rs, 我们要添加一行 <br />rs(“字段1名”)=值1 ’给要添加的行的一个字段赋值 <br />rs(“字段2名”)=值2 ’同上 <br />rs(“字段3名”)=值3 ’同上 <br />rs.update ’通知rs,我们要把这个行写入数据库 <br />% &gt; </p><p>  这段代码便可以把一个新的行写入数据库了。这里有我们以前没见过的两个方法rs.addnew和rs.update,其中rs.addnew是添加一个行时必要的,而rs.update则是写入、修改数据库时都需要用的。 <br />  三、修改数据 <br />  修改数据跟添加数据差不多,只是在T-SQL语句里,你必须只选取一个行。 <br />&lt; % <br />’……代码与前同,略 <br />rs.open “Select * from tablename where uid=’Coolshow’”,conn,2,3 ’这里我们要修改数据,所以把参数改成了2,3 <br />rs(“字段1名”)=值1 ’给要修改的行的一个字段赋一个新值 <br />rs(“字段2名”)=值2 ’同上 <br />rs(“字段3名”)=值3 ’同上 <br />rs.update ’通知rs,我们要把修改好的这个行写入数据库 <br />% &gt; </p><p>  拿这段代码跟添加数据的代码比较,你会发现只有两个不同点,就是conn后边的参数变了以及没有了addnew,修改跟添加的区别仅在于此。利用ADO修改数据的技巧你也学会了。下边是删除数据,删除数据就更简单了。 </p><p>  四、删除数据 <br />&lt; % <br />……’代码与前同,略 <br />rs.open “Select * from tablename”,conn,2,3 <br />rs.delete ’通知rs,我们要删除当前记录 <br />% &gt; </p><p>  这里我们新接触到的方法就是rs.delete了,顾名思义,就是删除当前记录嘛!讲到这里ADO的常用功能也就全部讲完。谨希望此文能开拓大家的思路,助喜欢ASP的朋友们轻松跨过ADO这个门槛。<br /></p>
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-22 14:47 , Processed in 0.155348 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team