oracle - C# Core,OracleDataReader,hasRows 为 false,同时选择表中包含数据的所有行
问题描述
我正在测试 Oracle 数据库。我写了一些代码,但我的数据阅读器没有行,为什么?我的“carros”表有数据,我选择了所有数据,但似乎得到了一个空的结果集。
string constr = "Data Source=localhost:1521/XE;User Id=System;Password=password;";
OracleConnection con = new OracleConnection(constr);
OracleCommand oracleCommand = new OracleCommand();
oracleCommand.Connection = con;
oracleCommand.CommandText = "select preco from carro";
con.Open();
OracleDataReader oracleDataReader = oracleCommand.ExecuteReader();
string resultado = String.Empty;
//My test, I got hasRows as false
if (oracleDataReader.HasRows == false)
{
resultado = "no results";
}
//never enters this loop.
while (oracleDataReader.Read())
{
resultado += (string)oracleDataReader["preco"];
}
// Close and Dispose OracleConnection
con.Close();
con.Dispose();
return resultado;
解决方案
如果在 ExecuteReader 之后 HasRows 为 false,则问题只是查询没有返回任何行,因此 Read 也将返回 false。可能 someValue 变量设置不正确。
根据您的描述,您的表似乎是carros
在您的查询使用时命名的carro
。尝试使用
oracleCommand.CommandText = "select preco from carros";
推荐阅读
- javascript - 在 NodeJS 中正确声明常量以防止内存泄漏和正确缓存
- c - 为什么有符号的 char min -128 而不是 -127?
- r - R函数,多个If语句形式的长度和艺术
- python - 如何使用 boost/python 从 C++ 导入 .py 文件中的类?
- angular - Angular 材料中是否有 mat-toolbar-column?
- linux - 无法克隆 gitolite repo 并导致致命错误
- tensorflow - 使用 fit 恢复训练会将批处理步骤重置为 0
- kubernetes - 在开源 Kubernetes v1.14 上删除 cluster-admin ClusterRoleBinding 是否安全?
- python - Tkinter 可以在 macOS Catalina 上使用 Metal 吗?
- java - 在 Java 中将 ORC 转换为 JSON