C# SQL 数据适配器 System.Data.StrongTypingException适配器、数据、SQL、StrongTypingException

2023-09-06 04:48:59 作者:污爷

我通过填充将数据从 SQL 获取到数据集.它只是一个包含两列(CategoryId (int) 和 CategoryName (varchar))的表.

I get my data from SQL to Dataset with Fill. It's just one table with two columns (CategoryId (int) and CategoryName (varchar)).

当我在填充方法后查看我的数据集时,CategoryId 列似乎是正确的.但在 CategoryName 我有一个 System.Data.StrongTypingException.

When I look at my dataset after fill method, CategoryId Columns seems to be correct. But in the CategoryName I have a System.Data.StrongTypingException.

这意味着什么?

有什么想法吗?

推荐答案

当你获取类型化数据集中的行/列的值时,默认情况下,当值为 DBNull 时会引发此异常.所以

When you get the value of a row/column in a typed dataset, by default it raises this exception when the value is DBNull. So

string x = Row.CategoryName;//Raises this exception when CategoryName is null.

您可以使用类型化数据集设计器更正此问题.将 CategroyName 列的属性Nullvalue"设置为(Empty)"

You can correct this with the typed dataset designer. Set the property "Nullvalue" of the CategroyName column to "(Empty)"