2013-03-16 2 views
1

Во время передачи данных Я хочу:отключить/включить автоматическое приращение в MSAccess через запрос

отключить/включить колонки Auto Increment в MSAccess

Так что я могу получить точное значение, которое вставляется мой C# Приложение через запрос в MSAccess.

В MSSQL мы могли бы сделать это таким образом, чтобы позволить:

sqlCmdDes.CommandText = "SET IDENTITY_INSERT dbo." + row["Table_Name"] + " ON"; 

и отключить автоматическое приращение:

sqlCmdDes.CommandText = "SET IDENTITY_INSERT dbo." + row["Table_Name"] + " ON"; 
+2

Вы не можете. Вы можете вставить в вспомогательную таблицу или вы можете ввести количество вставленных записей. – Fionnuala

+0

Даже если бы это было возможно, это могло бы вызвать проблемы с одновременной деятельностью. –

ответ

4

Вы можете вставить определенное значение в тождество (счетчик) столбец в Access без установки IDENTITY_INSERT вообще. Просто используйте инструкцию INSERT.

+0

Как я могу указать свое значение в столбце идентификации? они являются autoNumbers. Я могу оценить значение до нуля, но это не обязательно. Можете ли вы показать мне пример? –

+0

Пример (id - счетчик): вставить в значения Table_name (id) (999); Просто попробуйте. 999 не должно быть среди существующих значений. – msi77

+0

Это не сработало. Я скопировал данные с сервера Sql в DataTable, а затем использовал OleDbCommandBuilder i, вставленный в таблицу MSAccess, но MSAccess выполнил новую последовательность и не сохранил значения столбца Auto Increment команды insert. например Я попытался сохранить 2,3,4,8,9, но MSAccess сохранен. 1,2,3,4,5 –

Смежные вопросы