Member 11856456 Ответов: 1

Как изменить столбец, чтобы включить в него первичный ключ VB.NET


Я попытался создать инструкцию alter table, чтобы изменить мой текущий столбец и включить в него первичный ключ.

вот мой код:

sqlcon.Open()
           Dim cmdDBCC As New System.Data.SqlClient.SqlCommand("ALTER TABLE [" & dtname & "] ADD PRIMARY KEY(" & dtcolumn & ")", sqlcon)
           cmdDBCC.ExecuteNonQuery()
           sqlcon.Close()



Однако, когда я запускаю код, он не работает и пропускает executenonquery. Есть ли хороший подход к изменению столбца, чтобы включить PK?

Что я уже пробовал:

Я пытался использовать приведенный выше код, а также пытался использовать ограничение с кодом, но ни один из них не сработал.

sqlcon.Open()
           Dim cmdDBCC As New System.Data.SqlClient.SqlCommand("ALTER TABLE [" & dtname & "] ADD CONSTRAINT PK_" & dtname & " PRIMARY KEY(" & dtcolumn & ")", sqlcon)
           cmdDBCC.ExecuteNonQuery()
           sqlcon.Close()

ZurdoDev

Что вы имеете в виду, когда он пропускает ExecuteNonQuery? Это не может произойти без ошибки, брошенной перед ним.

1 Ответов

Рейтинг:
4

Christian Graus

Вам нужно определить "не работает". Сначала создайте свою строку и запустите ее в среде SQL Server management studio, чтобы убедиться, что ваш SQL верен. Если это так, то проверьте свой код, чтобы запустить его.

Этот код не будет работать с таблицей, которая уже имеет первичный ключ. У вас может быть только один. Я не могу придумать никакой земной причины для существования этого кода. Зачем вам нужно устанавливать его динамически?


Member 11856456

Первоначально у меня была идентичность(1,1) с автоинкрементом. Тем не менее, я удалил это и начал все сначала. Я не понимал, что во время этого процесса я забыл сделать определенные таблицы с ПК. Итак, для этих таблиц я хотел вставить первичный ключ динамически.