gpt4 book ai didi

c# - 使用 OracleDatareader 时,字段数据类型可以逐行更改吗

转载 作者:太空宇宙 更新时间:2023-11-03 14:22:46 24 4
gpt4 key购买 nike

当在 c# 程序中使用 OracleDataReader (Oracle.DataAccess.Client) 从记录集中读取数据时,是否存在其中一个字段中的数据类型可以逐行更改(DBNull 除外)。

我正在考虑这样的情况,例如 select 使用 case 语句,该语句可以从数字 (9) 的列中返回一个值,或者从定义为数字 (14) 的列中返回一个值。

在向上转换在数据读取器上使用索引器时返回的值时,是否还有其他可能相关的陷阱,例如int cityId = (int)dataReader["CityId"];(处理 DBNull 除外)

最佳答案

据我所知,数据类型不会逐行更改。

如果查询使用从不同数据类型返回值的 case 语句,引擎负责选择最合适的值来保存所有值,并且它将使用该数据类型描述结果集,作为标准强制在任何结果集中每列使用一种数据类型。

无论如何,如果您不能信任/不知道查询的来源,请将您的转换包含在 try/catch 语句中以获得任何意外结果并采取相应行动。

关于c# - 使用 OracleDatareader 时,字段数据类型可以逐行更改吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881304/

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