Имя столбца или количество предоставленных значений не соответствует определению таблицы - невозможно определить основную причину

Получение ошибки на

cmd.ExecuteNonQuery ()

Мой текущий код

Using con As New SqlConnection(sConString)
    Using cmd As New SqlCommand(
        "INSERT INTO MC_Entry VALUES(" &
        "@0,@1, @2, @3, @4, @5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17," &
        "@18, @19, @20, @21, @22,@23,@24,@25,@26,@27,@28,@29,@30,@31,@32,@33,@34," &
        "@35, @36, @37, @38, @39,@40,@50,@51,@52,@53,@54)", con)

        For MyIncremental = 0 To 54
            cmd.Parameters.AddWithValue("@" & MyIncremental, vValues(MyIncremental))
        Next MyIncremental

        'Debug.Print(UBound(vValues))
        'Debug.Print(LBound(vValues))
        'Debug.Print(Join(vValues, vbTab))


        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
    End Using
End Using

Нижнее значение vValues ​​= 0
а также
Верхнее значение vValues ​​= 54

В моей таблице SQL-сервера 55 столбцов без добавочного поля, и каждое поле может принимать значение Null.

Не уверен, почему я получаю эту ошибку, так как все вроде бы хорошо ...

Имя столбца или количество предоставленных значений не соответствует определению таблицы.

Какие-либо предложения?

Основываясь на ответном посте, я наконец сделал это в цикле, чтобы не пропустить необходимые строки в будущем.

For i = 0 To 54
    ReDim Preserve sfields(0 To i)
    sfields(i) = "@" & i
Next

sConcat = Join(sfields, ",")

Using con As New SqlConnection(sConString)
    Using cmd As New SqlCommand("INSERT INTO MC_Entry VALUES(" & sConcat & ")", con)

        For i = 0 To 54
            cmd.Parameters.AddWithValue("@" & i, vValues(i))
        Next i

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
    End Using
End Using

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

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