如何使用C#从Oracle获取响应?
我是Oracle的新手,正在尝试使用C执行下一个SQL请求# 我已经阅读了Oracle文档,并尝试使用如何使用C#从Oracle获取响应?,c#,sql,oracle,C#,Sql,Oracle,我是Oracle的新手,正在尝试使用C执行下一个SQL请求# 我已经阅读了Oracle文档,并尝试使用 var响应=dr.GetString(0) 但它总是返回异常 指定的强制转换无效 有人知道我怎么解决吗?谢谢你的回答 鉴于您正在查询count(*),首先,您最好使用ExecuteScalar而不是ExecuteReader()。接下来,结果将是一个整数,这就是GetString()失败的原因 将其更改为: int count = (int) cmd.ExecuteScalar(); (我还
var响应=dr.GetString(0)代码>
但它总是返回异常
指定的强制转换无效
有人知道我怎么解决吗?谢谢你的回答 鉴于您正在查询count(*)
,首先,您最好使用ExecuteScalar
而不是ExecuteReader()
。接下来,结果将是一个整数,这就是GetString()
失败的原因
将其更改为:
int count = (int) cmd.ExecuteScalar();
(我还强烈建议对您的连接、命令和您通常创建的任何读卡器使用语句。)鉴于您正在查询count(*)
,首先,您最好使用ExecuteScalar
,而不是ExecuteReader()
。接下来,结果将是一个整数,这就是GetString()
失败的原因
将其更改为:
int count = (int) cmd.ExecuteScalar();
(我还强烈建议对您的连接、命令和您通常创建的任何读卡器使用语句)。您正在获取count(*)
。为什么希望结果是字符串?关于dr.GetString(0);可能第一个不是字符串。。。正如@JonSkeet已经说过的,检查您将获取什么来匹配它type@JonSkeet哦,谢谢你的好回答,我使用了GetValue();解决了这个问题。我想oracle返回的字符串是:/@UladzimirKhadakouski:你真的读过我的答案吗?我的答案是,你不应该首先调用ExecuteReader()
?不要选择“解决眼前问题的最简单的方法”-花点时间做正确的事情。@JonSkeet是的,我做了,但不是全部,你已经删除了unswer,你能在我可以阅读更多信息的地方共享链接吗?求你了。你正在取计数(*)
。为什么希望结果是字符串?关于dr.GetString(0);可能第一个不是字符串。。。正如@JonSkeet已经说过的,检查您将获取什么来匹配它type@JonSkeet哦,谢谢你的好回答,我使用了GetValue();解决了这个问题。我想oracle返回的字符串是:/@UladzimirKhadakouski:你真的读过我的答案吗?我的答案是,你不应该首先调用ExecuteReader()
?不要选择“解决眼前问题的最简单的方法”-花点时间做正确的事情。@JonSkeet是的,我做了,但不是全部,你已经删除了unswer,你能在我可以阅读更多信息的地方共享链接吗?请