当前位置:编程学习 > C#/ASP.NET >>

cmd.Parameters.RemoveAt(0)在存储过程中的作用


 private SqlCommand CreateCmd(string procName, params object[] ps)
        {
            OpenConnection();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = procName;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = mycon;

            SqlParameter[] sqlpa = null;

            if (ps != null)
            {
                SqlCommandBuilder.DeriveParameters(cmd);
                cmd.Parameters.RemoveAt(0);
                sqlpa = new SqlParameter[cmd.Parameters.Count];
                cmd.Parameters.CopyTo(sqlpa, 0);
                for (int i = 0; i < sqlpa.Length; ++i)
                {
                    sqlpa[i].Value = ps[i];
                }
            }
            return cmd;

        }

cmd.Parameters.RemoveAt(0)是删除指定位置的参数,这里删除的是什么参数呢? --------------------编程问答-------------------- 这里是移除第一个参数 --------------------编程问答--------------------
引用 1 楼 ziyouli 的回复:
这里是移除第一个参数

问题是删除什么参数,打个比方。 --------------------编程问答-------------------- 最近访问csdn的用户不多啊。 --------------------编程问答--------------------
引用 2 楼 smartyfn 的回复:
引用 1 楼 ziyouli 的回复:

这里是移除第一个参数

问题是删除什么参数,打个比方。

你这里参数一个都没写出来,我哪知道删除哪个,只能告诉你删除掉第一个。
比如:
cmd.Parameters.Add(new SqlParameter("@a"));
cmd.Parameters.Add(new SqlParameter("@b"));
cmd.Parameters.Add(new SqlParameter("@c"));

那么这样他删除掉的就是@a这个参数 --------------------编程问答-------------------- 不要使用这类有严重设计bug的所谓SQLHelper程序。你不如自己正常使用ADO.NET写代码,会更简单和清晰。 --------------------编程问答-------------------- 编程就是这样,如果你知道深一层的道理,而对皮毛没有时间去纠结它,那么你就应该另外写一个,而不要模仿劣质的代码。

作为一个团队的项目经理也不应该揪住一点皮毛不放,程序员可以用多种方式操作数据库,如果你觉得一个人写的不好你直接删除他的代码就好了(只要你是每一两天就去看别人的代码,就会很清楚别人的代码)。 --------------------编程问答--------------------
引用 6 楼 sp1234 的回复:
编程就是这样,如果你知道深一层的道理,而对皮毛没有时间去纠结它,那么你就应该另外写一个,而不要模仿劣质的代码。

作为一个团队的项目经理也不应该揪住一点皮毛不放,程序员可以用多种方式操作数据库,如果你觉得一个人写的不好你直接删除他的代码就好了(只要你是每一两天就去看别人的代码,就会很清楚别人的代码)。


 cmd.Parameters.RemoveAt(0);
                sqlpa = new SqlParameter[cmd.Parameters.Count];
                cmd.Parameters.CopyTo(sqlpa, 0);
                for (int i = 0; i < sqlpa.Length; ++i)
                {
                    sqlpa[i].Value = ps[i];
                }

这个根本看不懂。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,