PDA

View Full Version : سوال: error در ارسال پارامتر به SP



heartshunter
چهارشنبه 27 شهریور 1387, 10:27 صبح
من یه SP دارم وقتی بهش پارامتر ارسال میکنم این ارور رو میده

Procedure or function insertintime2 has too many arguments specified.

در ضمن من پارامترها را به تعداد فرستاده ام :متفکر:
و اینکه insertintime2 نام پروسیجر منه و نوعهای datetime و int و nvarchar به دیتا بیس می فرستم

SMRAH1
جمعه 29 شهریور 1387, 14:39 عصر
کد رو بگذار شاید چیزی متوجه بشیم!!!

majid325
جمعه 29 شهریور 1387, 17:30 عصر
فكر كنم تعداد آرگومانتها كم يا زياد هست.

heartshunter
شنبه 30 شهریور 1387, 10:36 صبح
این SP منه :



ALTER PROCEDURE insertintime2
(
@tname nvarchar(15),
@id int ,
@outtime datetime ,
@morkhasilessbuff int ,
@morkhasibabuff int
)
AS
execute( 'update '+@tname+' set morkhasilessbuff='+@morkhasilessbuff+' , morkhasibabuff='+@morkhasibabuff+' where ( id='+@id+' and outtime='+@outtime+')')
RETURN



و اینم ارسال پارامتر و اجرای SP در سی شارپ :



cmd.Parameters.AddWithValue("@tname", tname);
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@outtime", vtime.ToString());
cmd.Parameters.AddWithValue("@morkhasilessbuff", var);
cmd.Parameters.AddWithValue("@morkhasibabuff", Convert.ToInt32(dt.Rows[c - 1][12]));


cmd.CommandText = "insertintime2";
cmd.CommandType = CommandType.StoredProcedure;
if (con.State == ConnectionState.Closed)
con.Open();
try
{
cmd.ExecuteNonQuery();
}
catch(Exception der)
{
MessageBox.Show(der.Message);
}