2010-12-03 6 views
0

저는 VB.net을 처음 사용합니다. Oracle 데이터베이스에 연결하는 기존 응용 프로그램을 수정해야합니다.vb.net을 사용하여 오라클 시퀀스 생성 값 삽입

내 질문은 : 어떻게 내가 오라클 시퀀스에 의해 생성 된 값을 VB에서 삽입 할 수 있습니까? 지금까지 다음과 같은 코드가 있습니다

Dim mpData As New MaximoDataSetTableAdapters.MEASUREPOINTTableAdapter 
Dim mpTable As New MaximoDataSet.MEASUREPOINTDataTable 
mpData.Fill(mpTable) 

Dim mData As New MaximoDataSetTableAdapters.MEASUREMENTTableAdapter 
Dim mTable As New MaximoDataSet.MEASUREMENTDataTable 

Dim mpRow As MaximoDataSet.MEASUREPOINTRow 
For Each mpRow In mpTable 

    Dim mRow As MaximoDataSet.MEASUREMENTRow 
    mRow = mTable.NewRow() 
    mRow.POINTNUM = mpRow.POINTNUM 
    mRow.MEASUREDATE = CStr(Now) 
    mRow.MEASUREMENTVALUE = tTotal 
    mTable.Rows.Add(mRow) 
    mData.Update(mTable) 

next 

을하지만 순서에 의해 생성되는 다른 필드, ROWSTAMP을 가지고 있기 때문에 나는 오류가 발생?

상담하십시오.

감사합니다. Radu.

답변

0

Oracle에서 열은 "시퀀스에 의해 생성되지"않습니다.

 
SELECT mysequence.nextval 
    INTO some_variable 
FROM dual; 

이 그런 다음 삽입 문에 some_variable에서 값을 사용하면 행을 삽입 할 때 일련의 자신에서 다음 값을 가져,이 값을 제공해야합니다.

+0

을 수행하는 방법의 예입니다. 하지만 시퀀스를 사용하여 테이블에 값을 삽입하려면 vb.net 코드가 필요합니다. –

+0

VB.net에서이 쿼리를 실행할 수 없으며 VB 코드에서 반환 된 값을 사용할 수 있습니까? –

0

시퀀스의 다음 값으로 행 스탬프 열을 채우는 "삽입 전"트리거를 만들 수 있습니다. 나는이 전략을 나 자신이 좋아하지 않지만, 그것 하나의 옵션입니다.

내가 이것을 알고이 here

관련 문제