اجرای تابع عددی SQL در C#
سلام
من برای متغییر های یکی از تابع هام دو تا Function توی SQL ایجاد کردم که عدد Int رو برمیگردونه. توی برنامه فقط نمیدونم متغییرهام رو چه جوری مقدار دهی کنم .
در واقع مشکل اینه که توی SQL که تابع رو اجرا میکنم عدد 2 رو برمیگردونه ولی اینجا عدد 0 رو برمیگردونه
این تابع من توی 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
و این کد برنامه ام هست
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();
نقل قول: اجرای تابع عددی SQL در C#
توابع رو نمیتونید به صورت مستقیم صدا بزنید.
دستور زیر رو اجرا کنید
SqlCommand Cmd = new SqlCommand("Select dbo.dore1(@First, @Second)", cnn);
Cmd.Parameters.AddWithValue("@First", txt_1_aghaz.Text);
Cmd.Parameters.AddWithValue("@Second", txt_1_payan.Text);
...
یا یک SP درست کنید و دستورات TSQL بالا رو توی اون قرار بدید.
نقل قول: اجرای تابع عددی SQL در C#
ممنونم م م م م . درست شد . با همین گزینه ی بالا
یه سوال SP چی هست ؟
نقل قول: اجرای تابع عددی SQL در C#
نقل قول:
یه سوال SP چی هست ؟
Stored Procedure