存储过程参数封装的问题 没什么豆 大侠帮忙看下吧 没怎么搞过这个

代码:

 public bool RunProcedure(string procedureName,string "参数")
        {
            SqlConnection _con = new SqlConnection(con);
            SqlCommand comm = new SqlCommand(procedureName, _con);
            try
            {
                _con.Open();
                comm.CommandType = CommandType.StoredProcedure;
                comm.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar));
                comm.Parameters["@name"].Value = 4;
                comm.Parameters.Add(new SqlParameter("@age", SqlDbType.VarChar));
                comm.Parameters["@age"].Value = 4;
                comm.Parameters.Add(new SqlParameter("@sex", SqlDbType.VarChar));
                comm.Parameters["@sex"].Value = 4;
                comm.Parameters.Add(new SqlParameter("@address", SqlDbType.VarChar));
                comm.Parameters["@address"].Value = 4;
                int result = comm.ExecuteNonQuery();
                if (result > 0)
                {
                    return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _con.Dispose();
                _con.Close();
            }
        }

中间的这个红色字体的:

comm.Parameters.Add 里面参数都是写死的 我希望的是能写成变量 是我调用的时候传递的变量 ,这个方法怎么封装啊?大侠们明白我的意思吗?

这个写法行吗?我在网上看的

SqlConnection conn = new SqlConnection(connectionstring);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.Connection = conn;
da.SelectCommand.CommandText ="NameOfProcedure(’para1’,’para2’,para3)";
da.Selectcommand.CommandType = CommandType.StoredProcedure;
para1 para2 para3 就是变量
交互式爱情
浏览 490回答 2
2回答

慕斯709654

你直接根据类型,拼sql语句得了。 一般可以把DbParameter数组作为参数传递,这样就不需要在函数内部去拼接了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server