Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用MySqlParameterCollection.AddRange_C#_.net_Mysql - Fatal编程技术网

C# 如何使用MySqlParameterCollection.AddRange

C# 如何使用MySqlParameterCollection.AddRange,c#,.net,mysql,C#,.net,Mysql,我已经安装了Connector/NET 6.5.4。在VisualStutio中,IntelliSense建议使用一种名为MySqlParameterCollection.AddRange的方法,但是没有可用的文档,所以我不知道如何使用它。我搜索了一下,什么也没找到 如何使用此方法以及文档在哪里?AddRange通常用于添加一组值。在本例中,我猜它希望您传递一个MySqlParameter的IEnumerable e、 g //列表实现IEnumerable var list=新列表(); va

我已经安装了Connector/NET 6.5.4。在VisualStutio中,IntelliSense建议使用一种名为MySqlParameterCollection.AddRange的方法,但是没有可用的文档,所以我不知道如何使用它。我搜索了一下,什么也没找到


如何使用此方法以及文档在哪里?
AddRange
通常用于添加一组值。在本例中,我猜它希望您传递一个
MySqlParameter
IEnumerable

e、 g

//列表实现IEnumerable
var list=新列表();
var paramCol=new MySqlParameterCollection();
//向列表中添加参数
// ...
//假设参数集合已设置
参数AddRange(列表);

您可以这样使用它

var myp = new MySqlParameterCollection();

myp.Add(new MySqlParameter(parameterName, dbType, size));


现在,您可以将其附加到您的命令对象

,因为MySqlParameterCollection派生自DbParameterCollection,您可以查看每个其他ParameterCollection的示例。例如,SqlParameterCollection可以这样使用

SqlCommand cmd = new SqlCommand(pCommandText, GetConnection());
cmd.Parameters.Clear();
List<SqlParameter> list = new List<SqlParameter>();
list.Add(new SqlParameter("@p1", value1));
list.Add(new SqlParameter("@p2", value2));
list.Add(new SqlParameter("@p3", value3));
cmd.Parameters.AddRange(list.ToArray<SqlParameter>());
SqlCommand cmd=newsqlcommand(pCommandText,GetConnection());
cmd.Parameters.Clear();
列表=新列表();
添加(新的SqlParameter(“@p1”,value1));
添加(新的SqlParameter(“@p2”,value2));
添加(新的SqlParameter(“@p3”,value3));
cmd.Parameters.AddRange(list.ToArray());

以下是一种避免必须创建变量来保存参数数组的方法

使用(SqlCommand cm=newsqlcommand(sql,cn))
{
cm.Parameters.AddRange(
新的SqlParameter[]
{
新的SqlParameter(“@TaskID”,SqlDbType.Int){Value=(Int)dr[“BSTaskID”]},
新的SqlParameter(“@DateNow”,SqlDbType.DateTime){Value=DateTime.Now},
新的SqlParameter(“@ExecDate”,SqlDbType.DateTime){Value=ExecDate},
新的SqlParameter(“@UserId”,SqlDbType.Int){Value=(Int)dr[“BSUserId”]},
新的SqlParameter(“@TaskParameters”,SqlDbType.VarChar){Value=parametersXML}
});
cm.ExecuteNonQuery();
}

它非常类似于SqlParameterCollection版本:-基本上,它需要一个DbParameter数组,在本例中是MySqlParameter对象。是否缺少一些大括号?
MySqlParameter[] myArray = new MySqlParameter[] { new MySqlParameter(parameterName, dbType, size), new MySqlParameter(parameterName, dbType, size));

myp.AddRange(myArray);
SqlCommand cmd = new SqlCommand(pCommandText, GetConnection());
cmd.Parameters.Clear();
List<SqlParameter> list = new List<SqlParameter>();
list.Add(new SqlParameter("@p1", value1));
list.Add(new SqlParameter("@p2", value2));
list.Add(new SqlParameter("@p3", value3));
cmd.Parameters.AddRange(list.ToArray<SqlParameter>());