回 帖 发 新 帖 刷新版面

主题:急啊!报错“为过程或函数***指定的参数太多”,在线等!

我写了一个数据库,在插入数据时遇到问题,我要同时插入2个表,我不会写及联插入SQL语句,所以一个一个的插入
  结果报错“为过程或函数proc_wang1 指定的参数太多”
部分代码:
  SqlCommand scmd = new SqlCommand ("proc_wang2",scn);
            scmd.CommandType = CommandType.StoredProcedure;
            SqlParameter sqlpar;

            sqlpar = scmd.Parameters.Add ("@StuNum",SqlDbType.Char);
            sqlpar.Value = StuNum;
            sqlpar.Direction = ParameterDirection.Input;

            sqlpar = scmd.Parameters.Add("@StuID",SqlDbType.Char);
            sqlpar.Value = StuID;
            sqlpar.Direction = ParameterDirection.Input;

            sqlpar = scmd.Parameters.Add ("StuMajor",SqlDbType.Int);
            sqlpar.Value = StuMajor ;
            sqlpar.Direction = ParameterDirection.Input;

            int i = scmd.ExecuteNonQuery();
            scn.Close();



            scn.Open();
            SqlCommand scmd2 = new SqlCommand("proc_wang1", scn);
            scmd2.CommandType = CommandType.StoredProcedure;
            SqlParameter sqlpar2;

            sqlpar2 = scmd2.Parameters.Add("@StuNum",SqlDbType.Char);
            sqlpar2.Value = StuNum;
            sqlpar2.Direction = ParameterDirection.Input;

            sqlpar2 = scmd2.Parameters.Add("@StuName",SqlDbType.Char);
            sqlpar2.Value = StuName;
            sqlpar2.Direction = ParameterDirection.Input;

            sqlpar2 = scmd2.Parameters.Add("@StuHome",SqlDbType.NVarChar);
            sqlpar2.Value = StuHome;
            sqlpar2.Direction = ParameterDirection.Input;

            int j = scmd2.ExecuteNonQuery(); //这儿报错“为过程或函数proc_wang1 指定的参数太多”
            scn.Close();
            if (i > 0 && j > 0)
                MessageBox.Show("添加成功");
            else
                MessageBox.Show("添加失败");
             

------------------------------------------------------
我应该怎么改阿?(如果写及联插入SQL语句,该怎么写)

回复列表 (共1个回复)

沙发

那你要检查下proc_wang1这个存储过程到底有多少参数,并且赋值的顺序是否正确

我来回复

您尚未登录,请登录后再回复。点此登录或注册