SQL Management で実行すると正しい答えを返す SQL の関数があります。これは私の関数です。
ALTER FUNCTION [dbo].[Dore1]
(@First NVARCHAR(50), @second NVARCHAR(50))
RETURNS INT
AS
BEGIN
DECLARE @Tedad INT
SET @tedad = (SELECT COUNT(sh_gharardad)
FROM OrgGharardad
WHERE OrgGhAghdDate BETWEEN @First
AND @second)
RETURN @Tedad
END
しかし、C# プログラムで使用すると、このコードで 0 (ゼロ) の値が返されます。どこに間違って書きましたか?
int dore1, dore2;
ConnectDb Contact = new ConnectDb();
Contact.connect();
SqlCommand Cmd = new SqlCommand("dore1", cnn);
SqlCommand Cmd2 = new SqlCommand("dore2", cnn);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd2.CommandType = CommandType.StoredProcedure;
cnn.Open();
Cmd.Parameters.AddWithValue("@First", txt_1_aghaz.Text);
Cmd.Parameters.AddWithValue("@Second", txt_1_payan.Text);
dore1=Convert.ToInt32( Cmd.ExecuteScalar());
Cmd2.Parameters.AddWithValue("@First2", txt_2_aghaz.Text);
Cmd2.Parameters.AddWithValue("@second2", txt_2_payan.Text);
dore2= Convert.ToInt32( Cmd2.ExecuteScalar());
CreateChart(dore1, dore2);
cnn.Close();