0

次の MS SQL 関数があります。

CREATE FUNCTION [dbo].[fn_NumApplications] ()
RETURNS int
AS
BEGIN
DECLARE @numRecords int = 0
SELECT @numRecords = COUNT(A.id) FROM Applications A
RETURN @numRecords
END

関数を呼び出す次の C# コード:

using (SqlConnection conn = new SqlConnection(mydbconnstring))
{
    using (SqlCommand cmd = new SqlCommand("dbo.fn_numApplications", conn))
    {
        cmd.CommandType = CommandType.StoredProcedure;
        //execute
        conn.Open();
        string retVal = cmd.ExecuteScalar().ToString();
        conn.Close();
    }
}

関数が cmd.ExecuteScalar() に到達すると、NullReferenceException が発生します。

「dbo.」を使用して、または使用せずに関数を呼び出してみました。また、成功せずに cmd.ExecuteReader() を使用して呼び出してみました。

ここで何がうまくいかないのですか?

4

1 に答える 1

0

これを試して:

SqlCommand cmd = new SqlCommand("Select dbo.fn_numApplications()", conn)

于 2016-07-08T20:29:17.863 に答える