c ef框架add和addrangee 和add的区别

Add和AddRange区别 - s - 博客园
Add和AddRange
Add:将指定的对象添加到&&中
AddRange:向&&末尾,添加数组
在群体操作时,使用AddRange取代Add 用AddRange可以让我们要加入的东西一次性加入,而不要每次都加一次,这样显然可以加快速度。几乎所有的windows control都支持Add和AddRange两种方法。
For i = 0 To param.Length - 1&&&&&&& comm.Parameters.Add(param(i))Next i
Comm.Parameters.AddRange(Param)
支持Add和AddRange的类: StringCollection, TraceCollection, SqlParameter, etc. HttpWebRequest UserControl ColumnHeader
Public&Function&ExecuteQuery(ByVal&strSql&As&String,&ByVal&param()&As&SqlParameter,&ByVal&ct&As&CommandType)&As&DataTable&&
&&&&Dim&dt&As&New&DataTable&&
&&&&comm&=&New&SqlCommand(strSql,&Me.GetConn)&&
&&&&mandType&=&ct&&
&&&&If&param&IsNot&Nothing&Then&&
&&&&&&&&For&i&=&0&To&param.Length&-&1&&
&&&&&&&&&&&&comm.Parameters.Add(param(i))&&
&&&&&&&&Next&i&&
&&&&End&If&&
&&&&&&&&dr&=&comm.ExecuteReader()&&
&&&&&&&&dt.Load(dr)&&
&&&&Catch&ex&As&Exception&&
&&&&&&&&Throw&ex&&
&&&&Finally&&
&&&&&&&&dr.Close()&&
&&&&&&&&conn.Close()&&
&&&&End&Try&&
&&&&Return&dt&&
End&Function&&
Public&Function&ExecuteQuery(ByVal&myCommandType&As&CommandType,&ByVal&Param()&As&SqlParameter,&ByVal&strSql&As&String)&As&DataTable&&
&&&&Dim&dt&As&New&DataTable&&
&&&&Comm&=&New&SqlCommand(strSql,&Me.GetConn)&&
&&&&mandType&=&myCommandType&&
&&&&If&Param&IsNot&Nothing&Then&&
&&&&&&&&Comm.Parameters.AddRange(Param)&&
&&&&End&If&&
&&&&&&&&myDataReader&=&Comm.ExecuteReader&&
&&&&&&&&dt.Load(myDataReader)&&
&&&&Catch&ex&As&Exception&&
&&&&&&&&Throw&ex&&
&&&&Finally&&
&&&&&&&&myDataReader.Close()&&
&&&&&&&&Conn.Close()&&
&&&&End&Try&&
&&&&Return&dt&&
End&Function&
阅读(...) 评论()
Copyright & s
Powered by:
模板提供:C#中添加对象到ArrayList
0人收藏此代码,
C#中添加对象到ArrayList,下面通过代码详细介绍了C#中ArrayList添加一个或者多个对象的方法
ArrayList类可容纳无序的任何类型的对象。有两种方法可以添加对象,ArrayList类的支持将对象通过Add和AddRange方法添加到集合中。&nbspAdd方法允许添加任何类型的单个对象集合。例如:
ArrayList alcollect = new ArrayList();
// Add individual items to the collection
string str = &learn csharp&;
alcollect.Add(str);
alcollect.Add(&hello world&);
alcollect.Add(500);
alcollect.Add(new object());
//该代码片段来自于: /codes/csharp/7609
AddRange方法支持添加一个范围内的对象。
ArrayList alcollect = new ArrayList();
string[] someArray = new string[] { &ek&, &do&, &theen& };
// Add range of items to the collection
alcollect.AddRange(someArray);
Add和AddRange将对象添加到ArrayList的末尾。Insert和InsertRange方法添加对象到指定的索引位置。
ArrayList alcollect = new ArrayList();
alcollect.Insert(3, &adding this at 3rd posn&);
string[] someStrings = new string[] { &hello&, &world& };
alcollect.InsertRange(4, someStrings);
我们可以通过索引号找到指定的对象
ArrayList alcollect = new ArrayList();
alcollect[3] = &iam at three&;
相关代码片段:
最新C#代码片段
合作网站:Parameters.Add 和 Parameters.AddRange 的区别:
Parameters.Add 和 Parameters.AddRange 的区别:
1、cmd.Parameters的Add方法是增加一个参数,增加多个参数的的时候使用一个foreach循环而已
SqlCommand cmd = new SqlCommand(sql, conn);
&&&&&&&&&&&&&&& mandType =
&&&&&&&&&&&&&&& if (pars != null && pars.Length & 0)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&& foreach (SqlParameter p in pars)
&&&&&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&&&& cmd.Parameters.Add(p);
&&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& //调用方法执行Sql语句或存储过程
&&&&&&&&&&&&&&& int count = cmd.ExecuteNonQuery();
&&&&&&&&&&&&&&&
2、cmd.Parameters的AddRange方法是增加一个参数的数组,个人建议用AddRange方法
&public static int GetExecute(string strsql, params SqlParameter[] p)
&&&&&&&&&&& SqlCommand sqlcmd = new SqlCommand(strsql, Connection);
&&&&&&&&&&& sqlcmd.Parameters.AddRange(p);
&&&&&&&&&&& int i = sqlcmd.ExecuteNonQuery();
&&&&&&&&&&& CloseConn();
&&&&&&&&&&&
文章评论 以下网友留言只代表其个人观点,不代表本网站的观点和立场。C#如何动态创建多个label控件?看补充_百度知道29923人阅读
 一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进行注入攻击。
string&sql
Table1 set name = 'Pudding' where ID = '1'&;
SqlConnection
conn = new&SqlConnection();
conn.ConnectionString
Source=.\\SQLEIntegrated Security=AttachDbFilename=|DataDirectory|\\Database.User Instance=true&;
SqlCommand
cmd = new&SqlCommand(sql,
&&&&conn.Open();
&&&&return(cmd.ExecuteNonQuery());
catch&(Exception)
&&&&return&-1;
&&&&throw;
&&&&conn.Close();
上述代码未采用SqlParameter,除了存在安全性问题,该方法还无法解决二进制流的更新,如图片文件。通过使用SqlParameter可以解决上述问题,常见的使用方法有两种,Add方法和AddRange方法。
一、Add方法
SqlParameter
sp = new&SqlParameter(&@name&,&Pudding&);
cmd.Parameters.Add(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);
  显然,Add方法在添加多个SqlParameter时不方便,此时,可以采用AddRange方法。
  下面是通过SqlParameter向数据库存储及读取图片的代码。
public&int&SavePhoto(string&photourl)
&&&&FileStream
fs = new&FileStream(photourl,
FileMode.Open, FileAccess.Read);
&&&&BinaryReader
br = new&BinaryReader(fs);
&&&&byte[]
photo = br.ReadBytes((int)fs.Length);
&&&&br.Close();
&&&&fs.Close();
&&&&string&sql
Table1 set photo = @photo where ID = '0'&;
&&&&SqlConnection
conn = new&SqlConnection();
&&&&conn.ConnectionString
Source=.\\SQLEIntegrated Security=AttachDbFilename=|DataDirectory|\\Database.User Instance=true&;
&&&&SqlCommand
cmd = new&SqlCommand(sql,
&&&&SqlParameter
sp = new&SqlParameter(&@photo&,
&&&&cmd.Parameters.Add(sp);
&&&&&&&&conn.Open();
&&&&&&&&return&(cmd.ExecuteNonQuery());
&&&&catch&(Exception)
&&&&&&&&return&-1;
&&&&&&&&throw;
&&&&finally
&&&&&&&&conn.Close();
public&void&ReadPhoto(string&url)
&&&&&&&&string&sql
photo from Table1 where ID = '0'&;
&&&&&&&&SqlConnection
conn = new&SqlConnection();
&&&&&&&&conn.ConnectionString
Source=.\\SQLEIntegrated Security=AttachDbFilename=|DataDirectory|\\Database.User Instance=true&;
&&&&&&&&SqlCommand
cmd = new&SqlCommand(sql,
&&&&&&&&try
&&&&&&&&&&&&conn.Open();
&&&&&&&&&&&&SqlDataReader
reader = cmd.ExecuteReader();
&&&&&&&&&&&&if&(reader.Read())
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&byte[]
photo = reader[0] as&byte[];
&&&&&&&&&&&&&&&&FileStream
fs = new&FileStream(url,FileMode.CreateNew);创建FileStream对象,用于写入字节数据流
&&&&&&&&&&&&&&&&fs.Write(photo,0,photo.Length);
&&&&&&&&&&&&&&&&fs.Close();
&&&&&&&&&&&&}
&&&&&&&&&&&&reader.Close();
&&&&&&&&catch&(Exception
&&&&&&&&&&&&throw;
&&&&&&&&finally
&&&&&&&&&&&&conn.Close();
&&&&&&&&}&&&&}}
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:451640次
积分:4319
积分:4319
排名:第5025名
原创:65篇
转载:41篇
评论:111条
(1)(1)(1)(3)(1)(2)(1)(2)(1)(9)(11)(18)(32)(9)(6)(10)

我要回帖

更多关于 c addrange的用法 的文章

 

随机推荐