为了账号安全,请及时绑定邮箱和手机立即绑定

将 Oracle 参数传递给 SQL 字符串

将 Oracle 参数传递给 SQL 字符串

C#
忽然笑 2021-07-15 17:07:06
我遇到了一个问题,我不知道我应该如何传入一个 Oracle 参数,其中 C# 类型是 a string,Oracle 类型是Varchar2.目前我路过这个string作为CMS','ABC思维,甲骨文将在增加''围绕这string使它成为一个varchar2看起来像'CMS','ABC'。这适用于单个string喜欢CMS但当值更长时,例如IN (list) 命令中的某些内容,参数将无法正确传递。这也是我指的代码。string sql = 'SELECT name FROM Pers p WHERE p.FirstName IN (:names)';当:names传入的值CML没有任何引号时,以下内容有效。OracleParameter param = new OracleParameter(":names", OracleDbType.Varchar2, "CML", ParameterDirection.Input);当:names传入的值CML','ABC在内部带有引号时,下面不起作用。OracleParameter param = new OracleParameter(":names", OracleDbType.Varchar2, "CML','ABC", ParameterDirection.Input);这是为什么?当参数传入sql语句时,Oracle是否在参数周围加上单引号?为什么不在第二种情况下添加引号?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 296 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信