Member 13734676 Ответов: 1

Что именно означает oraclecommand.bindbyname = true?


Привет я разрабатываю a vb.NET приложение и попытка вставить и обновить таблицу базы данных. Будет ли работать приведенный ниже запрос обновления? Если я установлю BindByName = True will .NET также рассматривает null и SYSDATE в качестве параметров? P. S Это сокращенный запрос, и фактический запрос немного сложен, и поэтому мне нужно некоторое подтверждение, прежде чем я его попробую


cmd.Parameters.Clear() 
cmd.CommandText = "UPDATE TBL_xxx_xxx SET NEXT=null, ACTIONDATE=SYSDATE, comments=:pcomments, STATUS=11 WHERE ACTIONDATE IS NULL AND WFID=:pwid AND ACTIONBY=:pactionby" 
cmd.CommandType = CommandType.Text 
cmd.BindByName = True

                    cmd.Parameters.Add(New OracleParameter(":pcomments", OracleDbType.Varchar2)).Value = somevalue
                    cmd.Parameters.Add(New OracleParameter(":pwid", OracleDbType.Int64)).Value = somevalue
                    cmd.Parameters.Add(New OracleParameter(":pactionby", OracleDbType.Varchar2)).Value = somevalue

                    cmd.ExecuteQuery()


Что я уже пробовал:

Пока ничего..... Я хотел получить некоторое представление о BindByName, прежде чем внедрять его

1 Ответов

Рейтинг:
0

Maciej Los

В качестве документации (BindByName[^]) государственный:

Цитата:

6.2.4.5 BindByName



Это свойство определяет метод привязки в коллекции.

Декларация



// C#
public bool BindByName {get; set;}

значение свойства



Возвращается true если параметры привязаны по имени; возвращает false если параметры привязаны к позиции.

Замечания



Default = false.


Member 13734676

Привет, Мацей, Спасибо за ответ.

Что происходит с NEXT=null, ACTIONDATE=SYSDATE? Будут ли они работать как обычный запрос обновления

Maciej Los

Лучший способ узнать это - выполнить свой код ;)
Другими словами, он должен работать, как и ожидалось.

Member 13734676

:) .....да попробую его с небольшим запросом перед моим фактическим запросом, который немного сложен