我有SQL参数数组为...
SqlParameter [] sqlParams = new SqlParameter [2];
如果我想添加更多参数,我可以添加到当前数组吗?
答案 0 :(得分:12)
不,你不能追加元素。在.NET中,数组是静态的。如果您想要动态集合,可以使用通用List<T>
来动态添加元素。
var sqlParams = new List<SqlParameter>();
sqlParams.Add(param1);
sqlParams.Add(param2);
...
// convert to a static array if needed
SqlParameter[] result = sqlParams.ToArray();
答案 1 :(得分:3)
使用System.Collections.Generic.List&lt;&gt;
可能更好List<SqlParameter> sqlParams = new List<SqlParameter>();
sqlParams.Add(x);
sqlParams.Add(y);
sqlParams.Add(z);
如果你需要一个阵列,你可以随时去:
sqlParams.ToArray();
答案 2 :(得分:1)
实际上,我只使用SqlCommand的内置Parameters属性。
System.Data.SqlClient.SqlConnection connection
= new System.Data.SqlClient.SqlConnection("connection string goes here");
System.Data.SqlClient.SqlCommand command = connection.CreateCommand();
System.Data.SqlClient.SqlParameter parameter = command.CreateParameter();
parameter.ParameterName = "@ParameterName";
parameter.DbType = DbType.String;
parameter.Value = "Some String Value";
command.Parameters.Add(parameter);
然后,如果您需要访问它们,可以通过以下方式执行:
SqlParameter param = command.Parameters[0];
通过这种方式,您无需添加范围并跟踪单独的数组或列表&lt;&gt;。