이전에 비슷한 질문을했지만 저는 명확한 답을 찾을 수 없었습니다. ASP.NET (Visual Web Developer)을 사용하고 있는데 한 양식의 데이터를 두 개의 별도 테이블에 삽입해야합니다. 이것은 내 데이터 소스 : ASP.NET과 SQL - 둘 이상의 테이블에 데이터를 삽입하고 있습니까?
<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이 강조 년대입니다. 그래서 그것은 삽입하려고 시도하고 있지만 어떤 이유로 값이 null 인 경우, 텍스트 상자에서 값을 가져 오지 않습니다. 나는 분명히 뭔가를 분명히 남겨 두었습니다. 잘 모르겠습니다.
코드가 뒤에 있으므로 16 개가 아니라 8 개의 매개 변수 만 인식합니다. –
나는 동의어로 ncakmak입니다. 이런 식으로 그렇게하지 말고, 보디 - 뒤에서 이것을 시도해야 할 것입니다. 아주 서투르고 오류가 발생하기 쉽습니다. 또한 코드에서 알지 못하는 매개 변수 문제도 있습니다. –
코드가 올바르게 보입니다. 기본 키 필드의 이름은 무엇이며 자동 증가로 설정됩니까? –