访问从数据库中检索的DataTable中的对象时,是否有任何理由不将该对象转换为所需的类型,还是有理由使用convert?我知道规则是在我们知道我们正在处理的数据类型时进行的,并在尝试将数据类型更改为不是时进行转换。假定我们知道列中存储了什么数据类型,那么演员似乎是合适的,但是有没有任何数据库类型问题,这意味着我们不能依靠这个问题?从数据库检索数据时进行转换或转换?
5
A
回答
4
我总是会投,因为你说的原因。我知道,你需要处理的陷阱是:
你显然需要能够处理DBNulls(例如,通过与Convert.IsDBNull测试)
在我的ExecuteScalar的情况下,相信你需要检查null和DBNull。
即使对于声明为INT的列,SQL Server @@ IDENTITY和SCOPE_IDENTITY函数也会返回数字(十进制)。在这种情况下,您可以将两次“(int)(十进制)值”转换为T-SQL代码,例如: 。
INSERT INTO MyTable的... SELECT AutoIdColumn FROM MyTable的WHERE AutoIdColumn = SCOPE_IDENTITY()
或
INSERT INTO MyTable ...
SELECT CAST(SCOPE_IDENTITY() AS INT)
0
两个CAST
和CONVERT
用于显式的一个的表达式转换数据类型到另一个。但是,使用CONVERT
,您也可以指定格式样式。
语法CAST:
CAST (expression AS data_type [ (length) ])
语法CONVERT:
CONVERT (data_type [ (length) ] , expression [ , style ])
0
当从RDBMS retreiving你应该让本地和请求类型的数据库驱动程序句柄编组。
CAST受SQL标准认可,适用于最多数量的RDBMS平台。
CONVERT可在较少的平台上使用。
如果您有多平台协调CONVERT只能用于特殊情况,例如用CAST无法实现的自定义格式。
相关问题
- 1. 从数据库检索数据时出现换行符
- 2. 使用pyodbc进行数据转换以查询iSeries数据库 - 转换错误
- 3. 从数据库转换时间
- 4. 从HDFS转换源数据并通过Talend进行转换
- 5. Doctrine SQL Server uniqueidentifier在从数据库检索时没有转换为char或nvarchar
- 6. 建模的NoSQL数据库(从SQL数据库转换时)
- 7. 从数据库中检索到的数据忽略换行符
- 8. 数据库转换器
- 9. 转换Visual FoxPro数据库
- 10. 转换数据库为utf8
- 11. 数据库空转换
- 12. 转换数据到mysql数据库
- 13. 转换gridview数据库中的数据
- 14. 转换数据
- 15. 转换数据
- 16. 转换数据
- 17. 数据转换
- 18. 如何进行数据转换:NSArray char
- 19. silverlight 2绑定数据进行转换?
- 20. 将数据库行转换为对象
- 21. 将数据库行转换为列
- 22. 数据行转换成int
- 23. 从Excel数据转换
- 24. 如何在从firebase数据库检索数据到textview时创建换行符?
- 25. 将AWS RDS数据库转换为InnoDB,数据库“mysql”是否需要转换?
- 26. 从列到行的数据转换
- 27. 将整数转换数据库转换为使用php的json
- 28. 转义/清理从数据库检索到的数据
- 29. 数据转换(集?)
- 30. GIS数据转换