用C#编写SQLServer自定义函数
来源:互联网 发布:同志网络剧国产2017 编辑:程序博客网 时间:2024/06/06 02:44
原文:http://blog.sina.com.cn/s/blog_5d1f29c10100b04n.html
这里我们用C#做一个计算滑轮系统近似距离的函数,并把该函数部署到SqlServer2005上去,这里使用的方法是原始的,全手动方式的部署方式,主要的目的是为了理解部署原理,实际上直接开SqlServer数据库项目可能更容易些。
首先让我们看一下滑轮传输带系统图示,如下图所示:
一、首先在VS2005里编写一个计算传输带距离的函数,源代码如下所示:
//自定义计算传输带距离的函数
using System;
using System.Collections.Generic;
using System.Text;
namespace SqlServerClr
{
public class pulley
{
public static double PulleyDistance(double Pulley1Diameter, double Pulley2Diameter, double BeltLength)
{
double length = 0, a = 2.0;
double b = BeltLength - 1.57 * (Pulley1Diameter + Pulley2Diameter);
double c = System.Math.Pow(Pulley1Diameter - Pulley2Diameter, 2.0);
//如果只是
double b1 = (b * b) - (4 * a * c);
if (b1 > 0)
{
length = (b + Math.Sqrt(b1)) / (2 * a);
//检查传输带是否合适
if (length < ((Pulley1Diameter + Pulley2Diameter) / 2))
{
//返回0,如果传输带不合适;
length = 0;
}
}
//精度只允许一位小数
return System.Math.Round(length, 1);
}