Правильный синтаксис SqlParameter

Я пытаюсь конвертировать:

command.Parameters.Add (new SqliteParameter (DbType.Int32) { Value = id });

Для нормального SqlParameter: I '

command.Parameters.Add(new SqlParameter(DbType.Int32) { Value = id });

мне удалось преобразовать каждую строку, кроме этой, яЯ получаю эти ошибки:

Error   3   Argument 1: cannot convert from 'System.Data.DbType' to 'object[]'
Error   2   The best overloaded method match for 'System.Data.SqlClient.SqlParameter.SqlParameter(object[])' has some invalid arguments

Полный код функции:

public User GetUser(int id)
{
    var u = new User();
    lock (locker)
    {
        connection = new SqlConnection("Data Source=" + path + ";Initial Catalog=DB;User ID=sa;Password=***********th");
        connection.Open();
        using (var command = connection.CreateCommand())
        {
            command.CommandText = "Select * from tblUsers WHERE UserID = ?";
            command.Parameters.Add(new SqlParameter(DbType.Int32) { Value = id });
            var r = command.ExecuteReader();
            while (r.Read())
            {
                u = FromReader(r);
                break;
            }
        }
        connection.Close();
    }
    return u;
}

Ответы на вопрос(1)

Ваш ответ на вопрос