2014-02-08 1 views
1

미인 득점 시스템을 만들었습니다. 삽입 함수 : GenerateTransaction()

내 데이터베이스입니다 :

enter image description here

내 질문에, 난 실행될 때, 그것은 기반으로 트랜잭션 테이블에 레코드를 추가하지만 빈 점수를 떠나거나 0 것이라고 함수를 만들 수있는 방법 참가자 수.

이것은 내가 가지고 있지만 즉시 닫히고 트랜잭션 테이블에서 아무 작업도 수행하지 않는 기능입니다.

Private Sub GenerateTransaction() 
    ' load event of the logged in judge 
    JudgeTableAdapter.FillByJudge(Me.PSSdbDataSet.Judge, JudgeID) 
    JudgeBindingSource.DataSource = PSSdbDataSet.Judge 

    For Each drEventJudges As DataRow In Me.PSSdbDataSet.Judge.Rows 
     ' load participants by event 
     ContestantTableAdapter.FillByContest(Me.PSSdbDataSet.Contestant, drEventJudges("Cont_id")) 


     CategoryTableAdapter.FillByContest(Me.PSSdbDataSet.Category, drEventJudges("Cont_id")) 
     ' MessageBox.Show(Me.PSSdbDataSet.Category.Rows.Count.ToString, "Category Count") 
     For Each drCategory As DataRow In Me.PSSdbDataSet.Category.Rows 
      CriteriaTableAdapter.FillByCategory(Me.PSSdbDataSet.Criteria, drCategory("Cat_id")) 
      ' MessageBox.Show(Me.PSSdbDataSet.Criteria.Rows.Count.ToString, "Criteria Count") 
      For Each drParticipant As DataRow In Me.PSSdbDataSet.Contestant.Rows 
       ' MessageBox.Show(Me.PSSdbDataSet.Contestant.Rows.Count.ToString, "Participants Count") 
       For Each drCriteria As DataRow In Me.PSSdbDataSet.Criteria.Rows 
        TransactionTableAdapter.Insert(drEventJudges("Judge_id"), _ 
                drParticipant("Cont_id"), _ 
                drCriteria("Cri_id"), _ 
                0) 
       Next 
      Next 
     Next 
    Next 
End Sub 

답변

0

트랜잭션은 종종 데이터베이스의 예약어이기 때문에 발생할 수있는 예외가있을 수 있습니다.

그렇지 않은 경우 새 레코드를 만들 때 항상 기본값으로 초기화되도록 점수에 기본값 (제약 조건)을 추가하는 것이 좋습니다.

: SQL 서버에서

,이 같은 (약) 볼 것