博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle数据库“Specified cast is农田valid”
阅读量:6422 次
发布时间:2019-06-23

本文共 997 字,大约阅读时间需要 3 分钟。

 

这种错误是笔者在执行一条计算符合条件的行有多少个,用OracleDataReader读取计算出的行数时发生。

查询语句为:

1
Select 
Count
(1) 
FROM 
HP_TS  
Where  
TS_ID>0

 C#执行过程为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public 
static 
int 
GetSingle(
string 
strSQL)
        
{
            
try
            
{
                
OpenConnection();
                
OracleDataReader oraDataReader = ExecuteReader(Connection, CommandType.Text, strSQL, 
null
);
                
int 
count = -1;<br data-filtered=
"filtered"
>
                
if 
(oraDataReader.HasRows == 
true 
&& oraDataReader.Read())
                
{
                    
count = oraDataReader.GetInt32(0);  
// ① 此处抛出该错误异常
                
}<br data-filtered=
"filtered"
>
                
oraDataReader.Close();
                
return 
count;
            
}
            
catch 
(System.Exception ex)
            
{
                
throw 
ex;
            
}
        
}

 

后来经过调试发现是由于oraDataReader[0] (或者是oraDataReader["Count(1)"]),的类型是decimal的,所以直接用以上代码①处的结果,将发生本文所述的异常。

后来,给出如下解决方法:

将①处替换为下面所示代码

1
count = Convert.ToInt32(oraDataReader[0].ToString());

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5822668.html
,如需转载请自行联系原作者
你可能感兴趣的文章
为你的 项目安装Sql跟踪工具-P6Spy
查看>>
Quagga上使用验证加固BGP会话安全
查看>>
演讲实录丨李德毅:无人驾驶的图灵测试
查看>>
自己动手写malloc
查看>>
双11数据大屏技术演进
查看>>
高可用笔记(2)redis
查看>>
Android 仿ios屏幕右边的圆圈
查看>>
《C语言及程序设计》资料——C语言中的运算符
查看>>
负载均衡双向证书配置方法
查看>>
Java NIO原理图文分析及代码实现
查看>>
C语言及程序设计初步例程-13 数值型数据的存储原理
查看>>
docker 文件位置[备忘]
查看>>
MongoDB WiredTiger 存储引擎cache_pool设计 (下) -- 实践篇
查看>>
pt-online-schema-change使用说明、限制与比较
查看>>
#运维侠客行·杭州站# 如何实现高容量大并发数据库服务
查看>>
情人节涨姿势:IT男如何get女生引力波?
查看>>
《C语言及程序设计》实践项目——main函数的参数
查看>>
《C语言及程序设计》实践项目——迭代法解题
查看>>
计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击...
查看>>
关于领域驱动设计(DDD)中聚合设计的一些思考
查看>>