Так что я знаю, что подобные вопросы задавались ранее, но я не мог найти четкого ответа для моей конкретной ситуации. Я использую ASP.NET (в Visual Web Developer), и мне нужно вставить данные из одной формы в две отдельные таблицы. Это мой источник данных:
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/courseinfo.mdb"
SelectCommand="SELECT * FROM [tableCourse], [tableFaculty]"
InsertCommand="INSERT INTO [tableCourse]
([department], [name_first], [name_last], [prefix],
[course_number], [credits], [title], [description])
VALUES (?, ?, ?, ?, ?, ?, ?, ?); INSERT INTO [tableFaculty] ([name_first], [name_last], [phone], [email])
VALUES (?, ?, ?, ?)">
Итак, вы видите, что я попытался использовать два оператора вставки, и он просто возвращается с ошибкой, говорящей, что после оператора SQL есть дополнительные символы. Я пытался снять точку с запятой, а потом там говорится, что мне не хватает точки с запятой. Можно ли вставить в две таблицы одновременно, используя этот элемент управления? И если нет, то как мне обойти это?
UPDATE:
Хорошо, попробовал это в коде, но я не думаю, что сделал это правильно, теперь это дает мне эту ошибку:
Ошибка сервера в приложении / CCC.
Индекс или первичный ключ не могут содержать значение Null.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и месте ее возникновения в коде.
Сведения об исключении: System.Data.OleDb.OleDbException: индекс или первичный ключ не могут содержать значение Null.
Ошибка источника:
Line 87:
Line 88: AccessDataSource1.InsertCommand = "INSERT INTO [tableCourse] ([department], [name_first], [name_last], [prefix], [course_number], [credits], [title], [description]) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
Line 89: AccessDataSource1.Insert()
Line 90:
Line 91: AccessDataSource1.InsertCommand = "INSERT INTO [tableFaculty] ([name_first], [name_last], [phone], [email]) VALUES (?, ?, ?, ?)"
Выделена строка 89. Так что я думаю, что он пытается вставить, но по какой-то причине значения равны нулю, он не берет значения из текстовых полей.
Я, вероятно, пропустил что-то очевидное, я не знаю, я действительно новичок в этом.