params可变参数、SqlCommand.Parameters.add()方法
namespace params可变参数
{
class Program
{
static void Main(string[] args)
{
int[] num = {, , , };
Test("老王", num);
Test("老王", , , ); //从方法哪里的参数可以知道,老王后面应该是数组,但是数组的内容一旦确定就不能修改了
// 但是要想改变数组的内容,要在方法里加上一个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 = ;
for(int i = ; i < score.Length; i++)
{
sum += score[i];
}
Console.WriteLine("我叫{0},我这次的总成绩{1}", name, sum);
}
public static int Sum(params int[] sum)
{
int a = ;
for(int i = ; 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);
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的作用就是把存储过程执行结束后得到的参数传到程序里 第一个是参数名,第二个是参数类型,第三个是长度
params可变参数、SqlCommand.Parameters.add()方法的更多相关文章
- C#编程:SqlCommand.Parameters.Add()方法的参数问题。
在存储过程中添加2个参数 sql语句 例: “update [tablename] username = @username where id=@id” 然后把需要的 command.Paramete ...
- SqlCommand.Parameters.add()方法
SqlParameter 类 表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射.无法继承此类. 命名空间: System.Data.SqlClient 程序集: Syst ...
- C#中的out参数/ref参数/params可变参数
out参数: out关键字 通过引用来传递参数,在定义方法和调用方法的时候都必须使用out关键字 简单来讲out可以用来返回多个参数类型. static void Main(string[] args ...
- out参数ref参数params 可变参数
1.我们在主函数中调用其他函数,我们管主函数为调用者,其他函数为被调用者. 如果被调用者,想要得到调用者的值:传参 使用静态字段来模拟全局变量 在方法外类里写字段 public static _na ...
- C# params 可变参数使用注意
今天在一个 .NET Core 项目中调用一个自己实现的使用 params 可变参数的方法时触发了 null 引用异常,原以为是方法中没有对参数进行 null 值检查引起的,于是加上 check nu ...
- params可变参数
class Program { // params可变参数 //将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理. //params可变参数必须是形参列表中的最后一个元素. static ...
- [c#]params可变参数
摘要 在项目中多多少少会用到params这个关键字,来修饰参数,它的作用,让该参数的个数是可变的,并且可变参数必须是方法的最后一个参数.但如何判断到底有没有为该参数传递值,怎么判断? 一个例子 sta ...
- C++ 实现可变参数的三个方法
有时我们无法提前预知应该向函数传递几个实参.例如,我们想要编写代码输出程序产生的错误信息,此时最好用同一个函数实现该项功能,以便对所有错误的处理能够整齐划一.然而,错误信息的种类不同,所以调用错误输出 ...
- 了解golang的可变参数(... parameters),这一篇就够了
在实际开发中,总有一些函数的参数个数是在编码过程中无法确定的,比如我们最常用的fmt.Printf和fmt.Println: fmt.Printf("一共有%v行%v列\n", r ...
随机推荐
- XX-Net的完整教程
1.下载谷歌浏览器,安装. 2.百度搜索github,github中搜索XX-Net,下载稳定版 3.解压缩下载的文件夹,运行start.vbs文件.如果弹出管理员请求权限请允许,弹出防火墙警告,请允 ...
- UOJ #310 黎明前的巧克力 (FWT)
题目传送门 题目大意:给你一个序列,定义一个子序列的权值表示子序列中元素的异或和,现在让你选出两个互不相交的子序列,求选出的这两个子序列权值相等的方案数,$n,a_{i}\leq 10^{6}$ 这是 ...
- vue自定义指令clickoutside扩展--多个元素的并集作为inside
都是个人理解,如果发现错误,恳请大家批评指正,谢谢.还有我说的会比较啰嗦,因为是以自身菜鸡水平的视角来记录学习理解的过程,见谅. 1.前言 产品使用vue+element作为前端框架.在功能开发过程中 ...
- python orm框架-----SQLALchemy-查询篇
似乎ORM最难设计的部分是查询.特别是面向对象的查询,今天学习SQLAlchemy,发现SQLAlchemy的查询语法竟如此灵活,惊叹其如此强大的表达能力的同时也对Python也有了更深的认识.下面看 ...
- Luogu P1198 BZOJ 1012 最大数 (线段树)
手动博客搬家: 本文发表于20170821 14:32:05, 原地址https://blog.csdn.net/suncongbo/article/details/77449455 URL: (Lu ...
- 和socket、rs232通信遇到的糟糕问题。备查!
procedure Tfrm_FoldingCloth.btn1Click(Sender: TObject); var SND:array of byte; begin if Not cnrs232. ...
- 大红数星星 图论 XD网络赛
问题 A: 大红数星星 时间限制: 3 Sec 内存限制: 128 MB提交: 1066 解决: 67[提交][状态][讨论版] 题目描述 “三角形十分的美丽,相信大家小学就学过三角形具有稳定性, ...
- Spring MVC-表单(Form)标签-密码框(Password)示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_password.htm 说明:示例基于Spring MVC 4.1.6. 以下示 ...
- 3.2 re--正則表達式操作(Regular expression operations)
本模块提供了正則表達式的匹配操作,它的功能跟Perl语言里的功能一样. 不管是Unicode字符串还是单字节8位组成的字符串,都能够使用模式匹配和字符串查找的功能. 只是要注意的是Unicode字符串 ...
- Linux学习(二) wget命令的使用
近期在Linux下进行一些操作,在非常多地方都用到了wget这个命令,记录一下一些有关wget的使用方法: wget是在Linux下开发的开放源码的软件,作者是Hrvoje Niksic,后来被移植到 ...