oracle数据库指定字段类型 返回

SqlSugar 沟通中
9 501

在实体上指定字段的参数类型不生效 SqlParameterDbType =OracleDbType.NVarchar2

热忱回答9

  • fate sta fate sta VIP0
    1个月前

    截图实体和代码。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    并且sqlsugar版本要升级。

    0 回复
  • 信仰゛ 信仰゛ VIP0
    1个月前

    image.png

    目前用的5.1.4.207,

    想要达到原生var param = new OracleParameter("p_name", OracleDbType.NVarchar2);

    0 回复
  • 信仰゛ 信仰゛ VIP0
    1个月前

    @fate sta想要达到原生var param = new OracleParameter("p_name", OracleDbType.NVarchar2);的效果。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    目前没有问题,是什么操作不生效,提供俱体代码。

    0 回复
  • 信仰゛ 信仰゛ VIP0
    1个月前


    @fate sta执行能成功,但写入生僻字会变“?”或者乱码。用原生的方式就没问题。所以要指定数据库字段类型。

    比如我的数据库NVarchar2的对应的字符集是AL16UTF16,插入生僻字“啓”。

    0 回复
  • fate sta fate sta VIP0
    1个月前
    [SugarColumn(ColumnDataType = "nvarchar2",SqlParameterDbType =typeof(Nvarchar2PropertyConvert) )]
    public string Name { getset; }


    这个正确用法。

    0 回复
  • fate sta fate sta VIP0
    1个月前

    用Nvarchar2PropertyConvert ,只指定DbType不能影响到非参数化的SQL(批量写入),这种特殊的要改用转换。


    0 回复
  • 信仰゛ 信仰゛ VIP0
    1个月前

    @fate sta:好的,问题已解决,感谢。

    0 回复