Visual Studio 10.0 не может вставлять значения в таблицу с полем идентификации (синтаксическая ошибка) - PullRequest
0 голосов
/ 23 марта 2012

Моя проблема в том, что я создал таблицу для локальной базы данных в Visual Studio 10.0, используя C #, и я хочу иметь поле с автоинкрементом, которое я настроил.Таблица создана, и поле идентификатора, кажется, настроено правильно, и все выглядит нормально, но я всегда получаю синтаксическую ошибку на вставке, когда использую поле идентификатора - поэтому я предполагаю, что у меня есть маленькая глупая опечатка, но, возможно, этопросто не поддерживается с помощью VS?

Это строка создания таблицы и ее выполнение:

-connection string omitted-
string createTableString = @"CREATE TABLE [Test](
[Test_ID] [int] IDENTITY (1,1) PRIMARY KEY NOT NULL,
[OtherField] [varchar] (50))";
SqlCommand command = new SqlCommand(createTableString, con); 
command.ExecuteNonQuery();

И это то, что я использую для вставки в таблицу:

string insertString = @"INSERT INTO Test VALUES ('sometext')";
SqlCommand command1 = new SqlCommand(insertString, con);
command1.ExecuteNonQuery();

Обратите внимание, что я тоже это попробовал и получил ту же синтаксическую ошибку:

string insertString = @"INSERT INTO Test (OtherField) VALUES ('sometext')";
SqlCommand command1 = new SqlCommand(insertString, con);
command1.ExecuteNonQuery();

Также обратите внимание, что для этого проекта я должен сделать это с помощью этих команд сценариев в Visual Studio.Это возможно?Большое спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 23 марта 2012

Возможным тестом является ключевое слово SQL, попробуйте добавить в него квадратные скобки: [test].

0 голосов
/ 23 марта 2012

Сценарии выглядят правильно, я могу только предположить, что это связано с владельцем таблицы. SQL делает текущего пользователя владельцем таблицы. Попробуйте [youruser]. [Test] и посмотрите, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...