【发布时间】:2017-06-08 08:41:09
【问题描述】:
我是 Oracle 的新手,正在尝试使用 C# 执行下一个 SQL 请求
try
{
connection.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = connection;
cmd.CommandText = "select count(*) from agreements";
cmd.CommandType = CommandType.Text;
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
}
我已经阅读了 Oracle 文档,我尝试过使用
var response = dr.GetString(0);
但它总是返回异常
指定的转换无效。
有人知道我该如何解决吗?感谢您的回答!
【问题讨论】:
-
你正在获取
count(*)。为什么你会期望结果是一个字符串? -
关于 Dr.GetString(0);可能第一个不是字符串...正如@JonSkeet 已经说过的那样,检查您要获取的内容以将其与类型匹配
-
@JonSkeet 哦,谢谢你的好回答,我用过 GetValue();并解决了它。我想什么 oracle 返回字符串:/
-
@UladzimirKhadakouski:你真的读过我的回答,建议你一开始就不应该打电话给
ExecuteReader()吗?不要追求“解决眼前问题的最简单的事情”——花点时间做正确的事情。 -
@JonSkeet 是的,我做了,但不是全部,你已经删除了 unswer,你能分享链接让我了解更多信息吗?请。