gpt4 book ai didi

vb.net - OracleCommand.BindByName = True 到底是什么意思?

转载 作者:行者123 更新时间:2023-12-04 01:36:39 27 4
gpt4 key购买 nike

NET 应用程序并尝试更新数据库表。下面的更新查询会起作用吗?如果我设置 BindByName = True .NET 是否也会将 null 和 SYSDATE 视为参数? PS这是缩短的查询,实际查询有点复杂,所以在我尝试之前需要一些确认

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()

最佳答案

cmd.BindByName = True 的反义词是“按位置绑定(bind)”

您添加参数pcomments , pwidpactionby .当您设置 cmd.BindByName = True然后您可以按任何顺序添加它们。

所以,在你的情况下,这个也应该工作:

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

如果设置 cmd.BindByName = False (这是默认设置)然后您必须按照它们在 CommandText 中出现的顺序添加参数。

关于vb.net - OracleCommand.BindByName = True 到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com