Синтаксис параметра OleDb - PullRequest
0 голосов
/ 15 мая 2019

При добавлении параметра в команду OLEDB необходимо ли использовать «новый». Обе следующие работы. Один из них предпочтительнее или они делают то же самое?

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

1 Ответ

1 голос
/ 15 мая 2019

Да, перегрузка 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,размер) перегрузка ;

command.Parameters.Add("name", OleDbType.VarChar, 10).Value = "YourValue";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...