过程sp_Temptable1_Update没有提供参数和参数. [英] Procedure sp_Temptable1_Update has no parameters and arguments were supplied.

查看:71
本文介绍了过程sp_Temptable1_Update没有提供参数和参数.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

--CREATE PROC sp_Temptable1_Update
AS
DECLARE @id smallint,
@fname varchar(10),
@age smallint,
@email varchar(25),
@status varchar(10),
@job varchar(10)
BEGIN TRAN
  UPDATE Temptable1 SET Fname = @fname, Age = @age, Email = @email, Estatus = @status, Job = @job
  WHERE Id = @id
  IF @@ERROR <> 0 GOTO Error
COMMIT TRAN
Error:
  IF @@TRANCOUNT <> 0
  ROLLBACK TRAN


protected void Buttonupdate_Click(object sender, EventArgs e)
    {
        //For updating the values in the database
        SqlConnection cn = new SqlConnection(db);
        SqlCommand cd = new SqlCommand();
        cd.Connection = cn;
        cd.CommandText = "sp_Temptable1_UPDATE";
        cd.CommandType = CommandType.StoredProcedure;
        cd.Parameters.Add("@id", SqlDbType.SmallInt).Value = DropDownList2.SelectedItem.Value.ToString();
        cd.Parameters.Add("@fname", SqlDbType.VarChar).Value = TextBoxName.Text;
        cd.Parameters.Add("@age", SqlDbType.SmallInt).Value = TextBoxAge.Text;
        cd.Parameters.Add("@email", SqlDbType.VarChar).Value = TextBoxEmail.Text;
        cd.Parameters.Add("@status", SqlDbType.VarChar).Value = TextBoxStatus.Text;
        cd.Parameters.Add("@job", SqlDbType.VarChar).Value = TextBoxJob.Text;
       
        cn.Open();
        cd.ExecuteNonQuery();
        cn.Close();
    }

推荐答案

我认为您在存储过程中的As之前声明了参数.请参阅以下更新的sp


i think you declare parameters before As in store procedure. See following updated sp


CREATE PROC sp_Temptable1_Update
@id smallint,
@fname varchar(10),
@age smallint,
@email varchar(25),
@status varchar(10),
@job varchar(10)

AS

BEGIN TRAN
  UPDATE Temptable1 SET Fname = @fname, Age = @age, Email = @email, Estatus = @status, Job = @job
  WHERE Id = @id
  IF @@ERROR <> 0 GOTO Error
COMMIT TRAN
Error:
  IF @@TRANCOUNT <> 0
  ROLLBACK TRAN


尝试按以下方式应用每个参数.

Try by Applying each parameter like following way.

cd.Parameters.Add(new SqlParameter(@"id",SqlDbType.SmallInt));
cd.Parameters[@"id"].Value = //Assign values here
cd.Parameters[@"id"].Direction = ParameterDirection.Input;



再次对所有参数和RUN命令执行此操作.

我认为ParameterDirection缺失可能会导致您收到错误消息.

如果有帮助,请 投票 接受答案 .



Do this for all the parameters and RUN command Again.

I think the ParameterDirection absense might causing the error you getting.

Please vote and Accept Answer if it Helped.


这篇关于过程sp_Temptable1_Update没有提供参数和参数.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆