c# - 在 HTTP GET 上使用 Oracle DB 在 Asp.net Web API 中处理来自 DB 的空值
问题描述
我正在尝试使用 Web api 从 Oracle 表中获取所有值。
当 oracle 表中的列没有空值时,Get 工作正常
但当表中的任何列为空时返回 http 500。有没有办法在不使用程序的情况下处理这个问题?以下是我正在使用的方法,如果可能的话,希望保持逻辑相同。任何建议表示赞赏。
[HttpGet]
[ActionName("GetData")]
public object Get()
{
List<SelectData> TestList = new List<SelectData>();
string connStr = ConfigurationManager.AppSettings.Get("ConnStr");
using (var conn = new OracleConnection(connStr))
{
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "select * from DB_DATA";
cmd.Connection = conn;
OracleDataReader dr = cmd.ExecuteReader();
SelectData ListObject = new SelectData();
while (dr.Read())
{
//Error if any of these are null
ListObject.DATA_ID = dr.GetInt32(0);
ListObject.Name = dr.GetString(1);
ListObject.LastName = dr.GetString(2);
ListObject.COMMENTS = dr.GetString(3);
ListObject.Address = dr.GetString(4);
TestList.Add(ListObject);
}
conn.Close();
}
return TestList;
}
解决方案
推荐阅读
- r - 部署过程中未处理的异常
- android - 尝试 ro 对 pexels API 使用改造,我很新鲜
- java - whitelabel 错误页面 404 spring boot 微服务 Rest Controller
- c# - C# SPOJ 时间优化
- github - GitHub Action appleboy/ssh-action:如何避免 SSH 密钥出现在服务器上?
- swift - SwiftUI 在结构中重复并按数量删除和合并它们
- python - 已绘制标题时如何在 matplotlib 中更新标题的位置
- spring - Spring Security + Thymeleaf - 第二次登录后的 TemplateInputException
- web-scraping - Scrapy Xpath 返回空列表
- typescript - TypeScript:将只读分配给非只读。这是一个错误吗?