WEB开发网
开发学院数据库MSSQL Server SQL Server 2008数据库中如何使用表值参数 阅读

SQL Server 2008数据库中如何使用表值参数

 2008-09-27 10:05:19 来源:WEB开发网   
核心提示: 为了让用户使用自定义表类型,执行或控制权限必须是理所当然的,SQL Server 2008数据库中如何使用表值参数(4),以下是授权命令:GRANT EXECUTE ON TYPE::dbo.MyType TO TestUser;4、通过.net应用程序调用 表值参数这一特性最大的亮点在于

为了让用户使用自定义表类型,执行或控制权限必须是理所当然的。以下是授权命令:

GRANT EXECUTE ON TYPE::dbo.MyType TO TestUser;

4、通过.net应用程序调用

表值参数这一特性最大的亮点在于可以在.net应用中使用表值参数。为了做到这一点,你必须要先安装.NET 3.5框架,并确保应用程序中已经引用了 System.Data.SqlClient命名空间。创建表值参数时需要用到一些新的SQL数据类型(如DataTable、DataColumn等)。

首先创建一个本地数据表,并插入一些记录。肯定的是, DataTable中创建符合用户定义的表型的列计数和数据类型。

'Create a local table
Dim table As New DataTable("temp")
Dim col1 As New DataColumn("col1", System.Type.GetType("System.Int32"))
Dim col2 As New DataColumn("col2", System.Type.GetType("System.String"))
Dim col3 As New DataColumn("col3", System.Type.GetType("System.DateTime"))
table.Columns.Add(col1)
table.Columns.Add(col2)
table.Columns.Add(col3)
'Populate the table
For i As Integer = 20 To 30
  Dim vals(2) As Object
  vals(0) = i
  vals(1) = Chr(i + 90)
  vals(2) = System.DateTime.Now
  table.Rows.Add(vals)
Next

我们在代码中采用存储过程:创建一个命令对象,并新增两个参数。代码如下图所示:

'Create a command object that calls the stored proc
Dim command As New SqlCommand("usp_AddRowsToMyTable", conn)
command.CommandType = CommandType.StoredProcedure
'Create a parameter using the new type
Dim param As SqlParameter = command.Parameters.Add
("@MyTableParam", SqlDbType.Structured)
command.Parameters.AddWithValue("@UserID", "Kathi")

请注意@ MyTableParam参数的数据类型(SqlDbType.Structured),这是.Net 3.5中新增的功能。最后,将当地表赋值给表值参数,并执行该命令。

'Set the value of the parameter
param.Value = table
'Execute the query
command.ExecuteNonQuery()

5、小结

SQL Server 2008中新增的表值参数特性,减少了应用程序与SQL Server数据库服务器之间的交互,提升了程序性能。

上一页  1 2 3 4 

Tags:SQL Server 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接