2006-10-08

探讨SQL Server 2005.NET CLR编程

来源: 动态网站制作指南 作者:佚名 评论 0 条
 

  · 在窗口内,点击"Surface Area Configuration for Features"(图12)。


图12.

  · 启动CLR集成,如下所示(图13)。


图13.


  · 按F5执行整个方案。假如它的执行中出现任何错误,一切都会被显示于输出窗口中。

  · 假如存储过程成功执行,你应该能够看到所有的工资数增加了50。

  五. SQL Server 2005数据库中的.NET CLR用户定义函数

  现在,我们要在我们现有的方案上添加一个存储函数。

  · 使用"Solution explorer",右击"SampleAllInOne"工程并转到"Add->User-defined Function"(以创建一个新的存储函数)(图14)。


图14

  · 之后,出现"Add New Item"对话框。在对话框内,选择"User defined function"作为模板,输入名字"getNetSalary",最后点击"Add"(图15)。


图15.

  一旦创建"getNetSalary.vb",接下来按下列方式修改你的代码:

Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
PartialPublic Class UserDefinedFunctions
<Microsoft.SqlServer.Server.SqlFunction
(DataAccess:=DataAccessKind.Read)> _
Public Shared Function getNetSalary(ByVal empno As SqlString)
As SqlDouble
 '在此添加你的代码
 Dim sal As Double
 Using cn As New SqlConnection("context connection=true")
 Dim cmd As New SqlCommand("select sal from
 sample.dbo.emp where empno='" & empno.ToString & "'", cn)
 cmd.Connection.Open()
 sal = CType(cmd.ExecuteScalar, Double)
 cmd.Dispose()
 End Using
 Dim hra As Double = sal * 10 / 100
 Dim ta As Double = 200
 Dim gross As Double = sal hra ta
 Dim epf As Double = sal * 5 / 100
 Dim net As Double = gross - epf
 Return net
End Function
End Class

  然后,使用下列步骤测试上面的存储过程:

  · 使用"Solution Explorer"在"test scripts"中打开"test.sql"(见前图11)。

  · 转到并修改如下代码:


(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Sql Server 2000数据库日志日益庞大的解决方法  
下一篇:使SQL Server数据支持 XML
    评论加载中…
共4页: 上一页 [1] [2] 3 [4] 下一页
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号