fntest.cs

来自「< SQL Server2005程序设计>」· CS 代码 · 共 57 行

CS
57
字号
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class UserDefinedFunctions
{
    public static SqlString fnHelloWorld()
    {
        return new SqlString("Hello World");
    }

    public static SqlDecimal fnToCelsius(SqlInt16 Fahrenheit)
    {
        return new SqlDecimal((((Int16)Fahrenheit) - 32) / 1.8);
    }


    [SqlFunction(FillRowMethodName="FillTickerRow")]
    public static System.Collections.IEnumerable fnPortfolioTable(SqlString TickersPacked)
    {
        string[] TickerSymbols;
        object[] RowArr = new object[2];
        object[] CompoundArray = new object[3];
        char[] parms = new char[1];

        parms[0] = ';';
        TickerSymbols = TickersPacked.Value.Split(parms);

        RowArr[0] = TickerSymbols[0];
        RowArr[1] = 1;
        CompoundArray[0] = RowArr;

        RowArr = new object[2];
        RowArr[0] = TickerSymbols[1];
        RowArr[1] = 2;
        CompoundArray[1] = RowArr;

        RowArr = new object[2];
        RowArr[0] = TickerSymbols[2];
        RowArr[1] = 3;
        CompoundArray[2] = RowArr;

        return CompoundArray;
    }

    public static void FillTickerRow(object row, ref SqlString TickerSymbol, ref SqlDecimal Value)
    {
        object[] rowarr = (object[])row;
        TickerSymbol = new SqlString((string)rowarr[0]);
        Value = new SqlDecimal(decimal.Parse(rowarr[1].ToString()));
    }

};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?