• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • 压缩SQL数据库
  • 实例讲解MYSQL数据库的查询优化技术
  • MySQL查询优化技术讲座
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL Server 性能优化工具
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • 支持中文的MySQL 5.1+ 全文检索分词插件
  • MySQL数据导入导出方法与工具mysqlimport
  • VS.NET中构建数据库应用程序
  • 如何使用SQL Server 2000中的XML功能
  • Server 2005性能排错
  • 《MySQL管理员指南》之一----MySQL安全性指南
  • SQL Server 2000中的SQL语言简介
 
 

相关文章

  • 使用.NET语言开发Silverlight应用程序入门(二):界面..
  • 使用.NET语言开发Silverlight应用程序入门(一):了解..
  • 微软代码和应用程序共享网站MSDN Code Gallery上线
  • 开发优质高效的Informix数据库应用程序
  • 用VC++开发Oracle数据库应用程序详解
  • 使用Microsoft SQL Server 2005 构建更好的应用程序
 
 

百度搜索

 
 

VS.NET中构建数据库应用程序

  • 阅览次数:
  • 文章来源: CP整理
  • 原文作者: 不详
  • 整理日期: 2007-04-11
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

因为 SqlDataAdapter2 是使用查询和连接串字符串定义的,所以 Fill 方法将建立到 SQL Server 数据库的连接、执行查询并将结果返回到 DataSet。

下一步,我们将看一看在表中插入行的代码:

 

Dim strCmdText As String

Dim rowsProcessed As Integer

Dim sqlConn As New SqlConnection _

("Data Source=localhost;Initial Catalog=ServiceCall;User

ID=sa;password=yourpassword")

strCmdText = "INSERT INTO Customers VALUES ('Cust4', 'Customer Four', " _

& "'Cust4 Address', 'City', 'ST', '11111','(888)-123-4567')"

Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)

sqlCmd.Connection.Open()

rowsProcessed = sqlCmd.ExecuteNonQuery()

我们首先定义将要使用的对象和变量。然后创建一个 ADO.NET SqlConnection 对象 (sqlConn),并将连接字符串作为参数传递给该对象。然后定义查询,该查询将行插入到变量 strCmdText 中的 Customers 表中。

下一步,我们定义一个 ADO.NET SqlCommand 对象,并将查询和 SqlConnection 对象作为参数传递给该对象。然后,我们打开 SqlCommand 对象上的连接,并调用 ExecuteNonQuery 方法。ExecuteNonQuery 方法返回数据库操作所影响的行的数目。

除了传递给 SqlCommand 对象的查询以外,更新和删除表的代码与插入操作的代码基本相同。本文列出了这些代码,但因为它与插入操作的代码相同,所以没有对该代码进行赘述。

以下代码将更新表中的一行:

Dim strCmdText As String

Dim rowsProcessed As Integer

Dim sqlConn As New SqlConnection _

("Data Source=localhost;Initial Catalog=ServiceCall;User

ID=sa;password=yourpassword")

strCmdText = "Update Customers Set CustomerName = 'Updated Customer' " _

& "Where CustomerID = 'Cust4'"

Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)

sqlCmd.Connection.Open()

rowsProcessed = sqlCmd.ExecuteNonQuery()

以下代码将删除表中的一行。

Dim strCmdText As String

Dim rowsProcessed As Integer

Dim sqlConn As New SqlConnection _

("Data Source=localhost;Initial Catalog=ServiceCall;User ID=sa")

strCmdText = "Delete Customers Where CustomerID = 'Cust4'"

Dim sqlCmd As New SqlCommand(strCmdText, sqlConn)

sqlCmd.Connection.Open()

rowsProcessed = sqlCmd.ExecuteNonQuery()

这些示例展示了如何使用 SqlCommand 对象的 ExecuteNonQuery 方法。SqlCommand 对象还具有其他几个方法,包括专用于 SQL Server 处理 XML 数据的方法。在下一个示例中,我们将介绍它的工作原理。

XML 和 Visual Studio .NET

SQL Server 2000 具有对 XML 的内置支持。其中一个功能是 Select 语句中的 For XML 子句,它返回一个作为 XML 的结果集。SqlCommand 对象具有 ExecuteXMLReader 方法,此方法利用 SQL Server 中的这一功能。

下一个示例将展示 SqlCommand 对象的另一个应用。我们将查询 Customers 表,将结果作为 XML 返回,然后在窗体的文本框中显示该 XML。

查询 Customers 表并将结果作为 XML 返回

1、向项目添加一个新窗体 (Form3) 并向该窗体添加一个文本框。将文本框的 MultiLine 属性更改为 True、Width 属性更改为 504、Height 属性更改为 152(如图 21 所示)。

图21:TextBox 属性页

2、向窗体添加一个按钮,将此按钮的 Name 属性和 Text 属性更改为 GetXML。

3、双击该按钮打开单击事件的代码窗口,然后添加以下代码。请记住更改数据源、用户 ID 和密码,使其与您的服务器匹配。

 

Dim XMLTxtReader As Xml.XmlTextReader

Dim StringBuilder As New System.Text.StringBuilder()

Dim XMLOutput As String

Dim SQLCommand As New System.Data.SqlClient.SqlCommand()

Dim SQLServiceCallConn As New _

System.Data.SqlClient.SqlConnection _

("Data Source=YourServer;Initial Catalog=ServiceCall;User

ID=xx;password=yourpassword")

SQLServiceCallConn.Open()

SQLCommand.Connection = SQLServiceCallConn

SQLCommand.CommandType = CommandType.Text

SQLCommand.CommandText = "Select CustomerID, CustomerName," _

& "Phone from Customers for XML auto"

' 执行 SQL 并返回 XML

XMLTxtReader = SQLCommand.ExecuteXmlReader()

StringBuilder.Append(XMLTxtReader.GetRemainder.ReadToEnd)

XMLOutput = StringBuilder.ToString()

Me.TextBox1.Text = XMLOutput

您的代码窗口应类似与图 22 所示(数据源、用户 ID 和密码可能会有所不同)。

图22:带有 GetXML_Click 子例程代码的 Form3 的窗体类

在此代码示例中,我们首先定义要使用的对象和变量。XMLTextReader 对象用于保存从数据库返回的数据。StringBuilder 对象用于根据 XMLTextReader 对象中的数据创建 XML 字符串。

首先,我们创建一个 SqlConnection 对象 (SQLServiceCallConn) 并传入数据库的连接参数。然后,设置 SqlCommand 对象 (SqlCommand) 的 CommandType 属性和 CommandText 属性。请注意,我们在查询中使用了 For XML Auto 语句。它指示 SQL Server 将查询结果作为 XML 字符串返回。

然后,使用 SqlCommand 对象的 ExecuteXmlReader 方法来执行我们的 Transact-SQL 语句。此方法旨在利用 SQL Server 2000 的本地 XML 支持并返回一个 XMLTextReader 对象。最后一步是使用 StringBuilder 对象从 XMLTextReader 对象中提取一个包含从 SQL Server 返回的 XML 的字符串。

可以通过导入 System.Text 和 System.Data.SqlClient 命名空间来缩短 StringBuilder、SqlCommand 和 SqlConnection 对象的完全限定名称(如图 23 所示)。为此,请在窗体类定义上方插入以下代码:

Imports System.Text

Imports System.Data.SqlClient

图 23:使用简写表示法定义 StringBuilder 和 SqlConnection 对象的源代码

要测试该应用程序,请将 Startup 对象更改为 Form3 并运行应用程序(按 F5 键)。单击 GetXML。Customers 表的内容将作为 XML 返回并显示在文本框中(如图 24 所示)。

图24:示例应用程序输出结果

SQLXML 3.0

在前面的示例中,我们讨论了 SQL Server 对 XML 的内置支持,有时也称其为 SQLXML。SQLXML 3.0 包含以下托管类,可以简化 SQLXML 在 Visual Studio .NET 中的使用。

类 说明
SqlXmlCommand 对象 将 XML 数据从 SQL Server 返回到一个新的或现有的 Stream 对象,或将数据返回到一个 XMLReader 对象。此对象还包含一个用于创建参数的方法。
SqlXmlParameter 对象 用于填充使用 SqlXMLCommand 对象创建的参数。
SqlXmlAdapter 对象 用 SQL Server 中的 XML 数据填充数据集。此对象还将更新应用于数据集中的 SQL Server 数据。

这些托管类允许您通过多种方法处理 SQL Server 中的 XML 数据,包括:

◆执行 SQL 查询以返回 XML 数据

◆对 XML 数据应用 XSL 转换

◆对 XML 数据执行 XPath 查询

对于最后一个示例应用程序,我们将扩展以前的示例,使用 SQLXML 托管类返回 SQL 查询中的 XML 数据。

重要信息:必须安装 SQLXML 3.0 才能运行此示例应用程序。SQL Server 2000 http://dev.chinaitpower.com/dotnet/webservice/' target='_blank'>Web Services 工具包附带了 SQLXML 3.0,也可以从 SQLXML and XML Mapping Technologies(英文)下载 SQLXML 3.0。

必须将 SQLXML 组件引用添加到项目中后才能使用 SQLXML 托管类。

添加 SQLXML 组件引用

1、打开解决方案资源管理器:在 View(视图)菜单中,单击 Solution Explorer(解决方案资源管理器)。

2、在 ServiceCall 项目下,右键单击 References(引用),然后单击 Add Reference(添加引用)。

3、在 Add Reference(添加引用)对话框中,单击 .NET 选项卡。

4、找到名为 Microsoft.Data.SqlXml 的组件,并突出显示该组件。

5、单击 Select(选择),然后单击 OK(确定)。

6、保存 ServiceCall 项目。

7、打开 Form3.vb,在该窗体中 GetXML 按钮旁边添加一个新按钮,然后将新按钮的 Name 属性和 Text 属性更改为 SQLXML。

8、双击 SQLXML 按钮打开单击事件的代码窗口并添加以下代码。请记住更改数据源、用户 ID 和密码,使其与您的服务器匹配。

Dim strm As System.IO.Stream

Dim sqlXmlCmd As New Microsoft.Data.SqlXml.SqlXmlCommand _

("Provider=SQLOLEDB;Data Source=localhost;" _

& "Initial Catalog=ServiceCall;User ID=sa;password=yourpassword")

sqlXmlCmd.CommandType = Microsoft.Data.SqlXml.SqlXmlCommandType.Sql

sqlXmlCmd.CommandText = ("Select CustomerID, CustomerName," _

& "Phone from Customers for XML auto")

strm = sqlXmlCmd.ExecuteStream()

Dim streamRdr As New System.IO.StreamReader(strm)

Me.TextBox1.Text = streamRdr.ReadToEnd().ToString

在此代码示例中,我们首先定义要使用的对象和变量。Stream 对象 (strm) 将保存从查询返回的 XML 数据。然后,定义 SqlXmlCommand 对象 (sqlXmlCmd),并将连接字符串作为参数传递给该对象。

下一步,设置 SqlXmlCommand 对象上的参数。CommandType 被设置为 Sql,它是一个默认值,在此列出以帮助您理解。CommandText 被设置为查询的值,该查询就是我们在此示例的第一部分使用的同一个查询。然后,我们将调用 SqlXmlCommand 对象的 ExecuteStream 方法,该方法将执行 SQL 语句,并将 XML 数据放入 Stream 对象中。

下一步,我们定义 StreamReader 对象 (streamRdr),并将 Stream 对象 (strm) 作为参数传递给该对象。这样将使用 XML 数据填充 StreamReader 对象。在最后一步中,我们将加载带有来自 StreamReader 对象的 XML 数据的文本框。

应仍将 Startup 对象设置为 Form3,然后保存项目、运行应用程序(按 F5 键)并单击 SQLXML 按钮。输出结果应该与单击 GetXML 按钮时的输出完全一样,如图 24 所示。


[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号