OleDb参数语法

时间:2019-05-15 10:06:18

标签: c# asp.net ms-access parameters

向OLEDB命令添加参数时,需要使用“ new”。以下两项工作。是更可取的还是他们在做同一件事?

command.Parameters.Add(new OleDbParameter("name", OleDbType.VarChar)); 
command.Parameters.Add("name", OleDbType.VarChar);

1 个答案:

答案 0 :(得分:1)

是的,Add(string, OleDbType)重载调用Add(OleDbParameter)重载。这意味着他们在幕后做同样的事情。

public OleDbParameter Add(string parameterName, OleDbType oleDbType)
{
     return Add(new OleDbParameter(parameterName, oleDbType));
}

https://referencesource.microsoft.com/#System.Data/fx/src/data/System/Data/OleDb/OleDbParameterCollection.cs,78

正如史蒂夫所说,最常用的使用方式(据我所知)就像

command.Parameters.Add("name", OleDbType.VarChar).Value = "YourValue";

或者如果您知道(指定)您的数据库列大小(假设它是varchar(10)),则可以添加一个整数作为第三个参数,例如调用Add(parameterName, oleDbType, size) overload;

command.Parameters.Add("name", OleDbType.VarChar, 10).Value = "YourValue";