友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

asp基础实用教程(DOC格式)-第6部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!

  在〃创建SQL Server的新数据源”对话框中,在”服务器”列表框中键入包含SQL Server数据库的服务器的名称,然后单击”下一步”。 
  选择验证登录ID的方式。 
  如果要选择SQL服务器验证,请输入一个登录ID和密码,然后单击”下一步”。 
  在〃创建 SQL Server的新数据源”对话框中,设置默认数据库、存储过程设置的驱动程序和ANSI标识,然后单击”下一步”。(要获取详细信息,请单击”帮助”。) 
  在对话框(同样名为〃创建SQL Server的新数据源〃)中,选择一种字符转换方法,然后单击〃下一步〃。(详细信息,请单击〃帮助〃。) 
  在下一个对话框(同样名为〃创建SQL Server的新数据源”)中,选择登录设置。 
  注意典型情况下,您只能使用日志来调试数据库访问问题。
  在〃ODBCMicrosoft SQL Server安装程序〃对话框中,单击〃测试数据源〃。如果DSN正确创建,”测试结果”对话框将指出测试成功完成。 

  SQL server连接和安全信息
  如果您正在开发用于连接远程SQL Server数据库的ASP数据库应用程序,应考虑以下问题:
  连接方案:您可以选择TCP/IP套接字和命名管道的方法访问远程的SQL Server数据库。当使用命名管道时,因为在建立连接之前,数据库用户必须被Windows NT确认,所以对只有适当的SQL Server访问身份而在该计算机上没有Windows NT用户帐号的用户可能会被拒绝访问命名管道。作为一种替代方案,使用TCP/IP套接字的连接可直接连接到数据库服务器,而不必通过使用命名管道的中间计算机。因为使用TCP/IP套接字连接可直接连接到数据库server,所以通过SQL Server的确认,用户就可以获得访问权,而不必通过Windows NT的确认。 
  注意在连接到远程数据库时使用 TCP/IP 套接字可提高性能。
  安全性:如果您使用SQL Server的集成或混合安全特性,并且SQL Server数据库位于远程服务器上,则不能使用Windows NT请求/响应的确认。也就是说,不能将Windows NT请求/响应身份证转发到远程计算机上,而只能使用基本身份验证,它根据用户提供用户名和口令信息进行。 
  有关这一主题的详细信息,请参阅http://microsoft。/sqlsupport/上的Microsoft SQL Server技术支持主页。

  配置Oracle数据库文件DSN
  首先要确保Oracle用户软件被正确地安装要创建DSN的计算机上。详细信息,请与服务器管理员联系或参阅数据库软件文档。
  在〃创建新数据源〃对话框中,从列表框中选择〃MicrosoftODBCfor Oracle”,然后单击”下一步”。
  键入DSN文件的名称,然后单击”下一步”。 
  单击〃完成〃创建数据源。 
  输入用户名、密码和服务器名,然后单击〃确定〃。 
  注意DSN文件用。dsn扩展名,位于 Programsmon FilesODBCData Sources 目录中。
  有关创建DSN文件的详细信息,请访问Microsoft ODBC Web站点:http://microsoft。/odbc/。

  连接数据库
  访问数据库信息的第一步是和数据库源建立连接。ADO提供Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。要建立数据库连接,首先应创建Connection对象的实例。例如,下面的脚本创建 Connection对象,接着打开数据库连接:

  注意无论在等号(=)之前还是之后,DSN字符串都不能包含空格。
  在这种情况下,Connection 对象的Open方法引用基于DSN的文件,其中包含关于数据库的位置和配置信息。也可以不引用DSN,直接显式引用供应程序、数据源、用户ID和密码。有关建立连接的可选方法的详细信息,请参阅Microsoft ActiveX Data Objects(ADO)。

  用Connection对象执行查询
  用Connection对象的Execute方法,您可以发出结构化查询语言(SQL)查询数据库源并检索结果。SQL是用于与数据库通讯的工业标准语言,它有许多命令可用来检索和更新信息。
  下面的脚本使用Connection对象的Execute方法在SQL INSERT命令的表格中发出查询,该命令将数据插入特定的数据库表格。在下面的示例中,脚本将名称Jose Lugo插入名为Customers的数据库表中。

  注意基于DSN路径字符串的文件在等号(=)前后不应包含空格。
  除了SQL INSERT命令以外,您也可以使用SQL UPDATE和DELETE命令更改和删除数据库信息。
  用SQL UPDATE命令,您可以改变数据库表中各项目值。下面的脚本使用UPDATE命令将Customers表中每个LastName字段包含姓Smith 记录的FirstName字段更改为Jeff。

  要想从数据库表中删除特定的记录,可使用SQL DELETE命令。下面的脚本从Customers表中删除了所有姓Smith的行:

  注意在使用SQL DELETE命令时,必须谨慎从事。当使用不带WHERE子句的DELETE命令时,它将删除表中的所有行。一定要包含SQL WHERE子句来指定要删除的确切行。

  使用Recordset对象处理结果
  尽管Connection对象简化了连接数据库和查询任务,但Connection对象仍有许多不足。确切地说,检索和显示数据库信息的Connection对象不能用于创建脚本;您必须确切知道要对数据库作出的更改,然后才能使用查询实现更改。
  对于检索数据、检查结果、更改数据库,ADO提供了Recordset对象。正如它的名称所暗示的那样,Recordset对象有许多您可以使用的特性,根据您的查询限制,检索并且显示一组数据库行,即记录。Recordset对象保持查询返回的记录的位置,允许您一次一项逐步扫描结果。
  根据Recordset对象的指针类型属性设置,您可以滚动和更新记录。数据库指针可以让您在一组记录中定位到特定的项。指针还用于检索和检查记录,然后在这些记录的基础上执行操作。Recordset对象有一些属性,可用于精确地控制指针的行为,提高您检查和更新结果的能力。例如,您可以使用CursorType和CursorLocation属性设置指针的类型,将结果返回给客户端应用程序(结果通常保留在数据库服务器上)并显示其他用户对数据库的最后一次更改。有关配置Recordset对象指针的信息,请参阅Microsoft ActiveX Data Objects(ADO)。

  检索记录
  一个成功的数据库应用程序都使用Connection对象建立链接并使用Recordset对象处理返回的数据。通过〃协调〃两个对象的特定功能,您可以开发出几乎可以执行任何数据处理任务的数据库应用程序。例如,下面的服务器端脚本使用Recordset对象执行SQL SELECT命令。SELECT命令检索一组基于查询限制的信息。查询也包含SQL WHERE子句,用来缩小查询的范围。此例中,WHERE 子句将查询限制为所有的Customers数据库表中包含的姓Smith的记录。


  请检查上面的例子,您将注意到,脚本用不同的数值重复构建和发出一个SQL查询,而没有重新定义和重发送查询到数据库源。用mand对象编译查询也可避免SQL查询引起的合并字符串和表格变量问题。特别是,通过使用mand对象的Parameter集合可以避免与定义字符串、日期、时间变量的类型有关的问题。例如,包含”'”的 SQL查询值可能导致查询失败:
strSQL = ”INSERT INTO Customers (FirstName; LastName) VALUES ('Robert';'O'Hara')” 
  注意,姓O'Hara中包含一个”'”,它与在SQL VALUES关键字中用来表示数据的〃'”冲突。通过将查询数值作为mand对象参数绑定,可以避免此类问题。

  结合HTML表格和数据库访问
  包含HTML表格的Web页可使用户远程查询数据库并且检索特定的信息。用ADO您可以创建非常简单的脚本来收集用户表格信息、创建自定义的数据库查询以及将信息返回给用户。使用ASP Request对象,您可以检索输入到HTML表格的信息并将这些信息合并到SQL语句中。例如,下面的脚本模块将HTML表格提供的信息插入表格中。此脚本用Request对象的Form集合收集用户信息。
返回目录 上一页 下一页 回到顶部 1 2
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!