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的作用就是把存儲過程執行結束后得到的參數傳到程序里

 

 第一個是參數名,第二個是參數類型,第三個是長度

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM