存储过程正确,执行正常,但在程序中执行后数据库无效果,其中无报错,无异常,求解答!

存储过程

set @sql ='insert into BidPclassCatalogRelation (CatalogID,SysCatalogID,SysCatalogCode,SysCatalogName)
        values('''+@catalogID+''','''+@sysCatalogID+''','''+@sysCatalogCode+''','''+@sysCatalogName+''') '
        exec(@sql)

代码: 

if (gvr.RowType == DataControlRowType.DataRow)
                {
                    CheckBox cb = (CheckBox)gvr.FindControl("cbSelect");
                    string sysCatalogId = ((Label)gvr.FindControl("lbSysCatalogId")).Text.Trim();
                    string sysCatalogCode = ((Label)gvr.FindControl("lbSysCatalogCode")).Text.Trim();
                    string sysCatalogName = ((Label)gvr.FindControl("lbSysCatalogName")).Text.Trim();
                    if (cb.Checked)
                    {
                        string rtnMgr = "";
                        if (!this.CurrenDataAccess.SaveLink(catalogId, sysCatalogId, sysCatalogCode, sysCatalogName, ref rtnMgr))
                        {
                            this.ShowWebMessage("保存数据错误", rtnMgr);
                        }
                        else
                            cb.Checked = false;
                    }
                } 

没看到有调用存储过程的代码?把SaveLink方法的代码发出来看看。

set @sql ='insert into BidPclassCatalogRelation (CatalogID,SysCatalogID,SysCatalogCode,SysCatalogName)
values('+@catalogID+','+@sysCatalogID+','''+@sysCatalogCode+''','''+@sysCatalogName+''') '
		exec(@sql)

存储过程也改成int类型了,

public bool SaveLink(int catalogID, int sysCatalogId, string sysCatalogCode, string sysCatalogName, ref string rtnMgr)
        {
            SqlParameter[] parameter = new SqlParameter[6];
            parameter[0] = new SqlParameter("@catalogID", catalogID);
            parameter[1] = new SqlParameter("@sysCatalogID", sysCatalogId);
            parameter[2] = new SqlParameter("@sysCatalogCode", sysCatalogCode);
            parameter[3] = new SqlParameter("@sysCatalogName", sysCatalogName);

            parameter[4] = new SqlParameter("@rtnMgr", "");
            parameter[4].Direction = ParameterDirection.Output;
            parameter[4].Size = 50;

            parameter[5] = new SqlParameter("@rtnOK", "");
            parameter[5].Direction = ParameterDirection.Output;

            SqlHelper.ExecuteDataSet("TenderPlanMgr_BidLinkCatalogMgr_SaveLink", parameter);

            rtnMgr = (parameter[4].Value + "").Trim();

            if ((parameter[5].Value + "").Trim() != "0")
                return true;
            else
                return false;
        }

这是调用方法方法

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632