Синтаксис обновления для Oracle 10-граммовое использование ASP.NET

У меня есть GridView с кнопкой Update. Я хочу обновить поле в базе данных, но я думаю в коде ниже, вызывает проблему на моей странице.NET ASP. Что может быть сделано в сетке или в операторе (UpdateCommand) обновления? Отметьте, я получаю Рты 00936 ошибок.

<asp:SqlDataSource ID="dsBooks" runat="server"
            ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"         
            SelectCommand="SELECT OBJECTID, TRACT, GIS_ACRES, COMMENTS, PDF_STORAGE FROM CampusDev.CU_POLY ORDER BY OBJECTID"
            UpdateCommand="UPDATE CampusDev.CU_POLY SET COMMENTS='just atest' WHERE OBJECTID=@OBJECTID"
1
задан casperOne 19 November 2011 в 05:34
поделиться

2 ответа

":OBJECTID" в языке Oracle является переменной привязки.

Я не разбираюсь в семантике asp.net, но вы захотите использовать здесь переменные привязки. Эта ссылка должна дать более полное объяснение, но в основном это следующее:

cmd.Parameters.Add(new OracleParameter(“OBJECTID″, @OBJECTID));
UpdateCommand="UPDATE CampusDev.CU_POLY 
       SET COMMENTS='just atest' WHERE OBJECTID=:OBJECTID"

Затем выполните свою команду.

Всегда используйте переменные привязки, когда это возможно в производственном коде - это позволяет Oracle избежать жесткого разбора SQL-запроса.

Кроме того, имя переменной привязки не имеет значения для Oracle. Важным аспектом является порядок ее появления. С таким же успехом можно сказать

WHERE OBJECTID=:1

с тем же эффектом.

1
ответ дан 2 September 2019 в 23:14
поделиться

Oracle обычно имеет : вместо @:

WHERE OBJECTID = :OBJECTID

Или, возможно, objectid - это зарезервированное слово, которое вы можете экранировать с помощью " в Oracle:

WHERE "OBJECTID" = :OBJECTID

Или, возможно, вам нужно указать параметр в ASP.NET:

 <asp:SqlDataSource ...>
     <UpdateParameters>
         <asp:Parameter Type="Int32" Name="ObjectId" />
     </UpdateParameters>
 </asp:SqlDataSource>
1
ответ дан 2 September 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: