2010-12-15 3 views
1

이전에 비슷한 질문을했지만 저는 명확한 답을 찾을 수 없었습니다. 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 인 경우, 텍스트 상자에서 값을 가져 오지 않습니다. 나는 분명히 뭔가를 분명히 남겨 두었습니다. 잘 모르겠습니다.

+0

코드가 뒤에 있으므로 16 개가 아니라 8 개의 매개 변수 만 인식합니다. –

+0

나는 동의어로 ncakmak입니다. 이런 식으로 그렇게하지 말고, 보디 - 뒤에서 이것을 시도해야 할 것입니다. 아주 서투르고 오류가 발생하기 쉽습니다. 또한 코드에서 알지 못하는 매개 변수 문제도 있습니다. –

+0

코드가 올바르게 보입니다. 기본 키 필드의 이름은 무엇이며 자동 증가로 설정됩니까? –

답변

1

코드 숨김에서 시도해 보시지 않겠습니까?

AccessDataSource1.InsertCommand = "First INSERT Statement"; 
AccessDataSource1.Insert(); 

AccessDataSource1.InsertCommand = "Second INSERT Statement"; 
AccessDataSource1.Insert(); 
관련 문제