Вставьте сгенерированное значение последовательности оракула, используя vb.net - PullRequest
0 голосов
/ 03 декабря 2010

Я новичок в 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 ]

0 голосов
/ 06 декабря 2010

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

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

0 голосов
/ 03 декабря 2010

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

SELECT mysequence.nextval 
  INTO some_variable
FROM dual;

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

...