• params可变参数、SqlCommand.Parameters.add()方法


    namespace params可变参数
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] num = {66, 99, 55, 44};
                Test("老王", num);
                Test("老王", 55, 55, 55); //从方法哪里的参数可以知道,老王后面应该是数组,但是数组的内容一旦确定就不能修改了
                // 但是要想改变数组的内容,要在方法里加上一个params可变参数(但是可变内容的类型要与数组类型相同),但是这个要放在方法的最后面,
                // 例如要添加一个学号
                Console.ReadKey();
                //int b=Sum(56,56,56,56);
                //Console.WriteLine(b);
                Console.ReadKey();
            }
            public static void Test(string name, params int[] score)
            {
                int sum = 0;
                for(int i = 0; i < score.Length; i++)
                {
                    sum += score[i];
                }
                Console.WriteLine("我叫{0},我这次的总成绩{1}", name, sum);
            }
            public static int Sum(params int[] sum)
            {
                int a = 0;
                for(int i = 0; i < sum.Length; i++)
                {
                    a += sum[i];
                }
                return a;
                //Console.WriteLine();
            }
        }
    }

    ==============================================================================================

    有时候为图方便,会直接用sqlhelper文件进行相关操作,会出现如下的类:

    public static object ExecuteScalar(string sqlStr, params SqlParameter[] parameters)
    {
        using(SqlConnection conn = new SqlConnection(connStr))
        {
            conn.Open();
            using(SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = sqlStr;
                cmd.Parameters.AddRange(parameters);
                return cmd.ExecuteScalar();
            }
        }
    }
     

    调用方法一般有如下两种:

    一、Add方法

    SqlParameter sp = new SqlParameter("@name", "Pudding");
    cmd.Parameters.Add(sp);
    sp = new SqlParameter("@ID", "1");
    cmd.Parameters.Add(sp);

    该方法每次只能添加一个SqlParameter。上述代码的功能是将ID值等于1的字段name更新为Pudding(人名)。

    二、AddRange方法

    SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@name", "Pudding"), new SqlParameter("@ID", "1") };
    cmd.Parameters.AddRange(paras);
    本人实际操作中无 cmd.Parameters.AddRange(paras) 因为在 ExecuteScalar方法中已经添加参数。
    显然,Add方法在添加多个SqlParameter时不方便,此时,可以采用AddRange方法。
     
     string strconn = "Data Source=xxx;user id=sa;pwd=;initial catalog=gltest";
            SqlConnection Conn = new SqlConnection(strconn);
            Conn.Open();
            string sql = "insert into users(name,pwd) values (@name,@pwd)";
            SqlCommand cmd = new SqlCommand(sql, Conn);
            cmd.Parameters.Add(new SqlParameter("@name", SqlDbType.NVarChar, 50));
            cmd.Parameters.Add(new SqlParameter("@pwd", SqlDbType.NVarChar, 50));
            cmd.Parameters["@name"].Value = this.TextBox1.Text;
            cmd.Parameters["@pwd"].Value = this.TextBox2.Text;
            cmd.ExecuteNonQuery();
            Conn.Close(); 
    comm.Parameters.Add()添加参数到参数集,add里面的第一个参数是要添加的参数名,第二个参数是参数的数据类型
    Parameters的作用就是把存储过程执行结束后得到的参数传到程序里
    
     
    
     第一个是参数名,第二个是参数类型,第三个是长度
    

      

  • 相关阅读:
    TriSun PDF to X v11.0 Build 061
    资源管理器 Q-Dir v8.09
    USB启动盘创建工具 Rufus
    Docker:网络模式详解
    rsync使用实践
    MySQL 8.0 防止暴力破解
    MySQL-8.0.19 优化日志及压测
    MySQL入门篇之mysqldump参数说明
    rest-framework之视图
    rest-framework之权限组件
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/7596813.html
Copyright © 2020-2023  润新知