Были некоторые предыдущие вопросы вроде этого, но я не совсем понял ответы. Вот мой запросAutoincrement with SQL Insert
using (SqlCommand cmd = new SqlCommand(
"INSERT INTO Results VALUES(@ResultID, @HasSucceeded, @ScenarioID, @Screenshot)",
conn))
{
cmd.Parameters.AddWithValue("@ResultID", Id);
cmd.Parameters.AddWithValue("@HasSucceeded", HasSucceeded);
cmd.Parameters.AddWithValue("@ScenarioID", Id);
cmd.Parameters.AddWithValue("@Screenshot", screenshot);
cmd.ExecuteNonQuery();
}
Теперь я использую Id
в качестве заполнителя в течение @ResultID
. То, что я действительно хочу сделать, это autoincrement
@ResultID
с этим запросом INSERT INTO
. Как я могу это сделать?
Как и в сторону, я сомневаюсь, что этот код будет когда-нибудь мимо меня, если бы я сделал обзор на Это. Укажите имена столбцов, а не только значения, в инструкции INSERT. Вы можете поблагодарить меня позже. ';)' (Если что-либо происходит с структурой таблицы, что делает ее несовместимой с тем, что предполагает ваш код, вы получите исключение, а не потенциально данные, вставленные в неожиданные столбцы.) –
Просто используйте столбец IDENTITY: проблема решена (вы не говорите ему значение для вставки: оно делает это сам) –
@MarcGravell Я не уверен, что помогает OP, если это необходимо позже. Хотя, если это так, то здесь начинается вызов хранимой процедуры. (Это может быть вызвано в любом случае, но особенно тогда ...) –