Вставьте сгенерированное значение последовательности оракула, используя vb.net

Я новичок в VB.net. Мне нужно изменить существующее приложение, которое подключается к базе данных Oracle.

Мой вопрос: как я могу вставить значение, созданное последовательностью оракула из 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, которое генерируется последовательностью?

Пожалуйста посоветуй.

С уважением, Раду.

2 ответа

Вы можете создать триггер "перед вставкой", который заполняет столбец rowstamp следующим значением из последовательности. Мне сама эта стратегия не нравится, но это один из вариантов.

Вот пример того, как это сделать здесь

В Oracle колонки не "генерируются последовательностью". Вам нужно извлечь следующее значение из последовательности самостоятельно и указать это значение при вставке строки:

ВЫБЕРИТЕ mysequence.nextval 
  INTO some_variable
ОТ двойного;

Затем используйте значение из some_variable в вашем операторе вставки.

Другие вопросы по тегам