c# - SqlDataReader 结果到列表
问题描述
我正在尝试使用 SqlDataReader 从 sql server 中提取记录并转储到列表中。我的对象引用未设置为对象错误的实例。下面是代码。
private List<Models.AreasOfLaw> aolTitles;
public List<Models.AreasOfLaw> AreasOfLawListItems
{
get { return aolTitles; }
set { aolTitles = value; OnPropertyChanged("AoLTitles"); }
}
private void GetAllAreasOfLaws()
{
try
{
using (SqlConnection sqlConnection = new SqlConnection(DataSources.RemoteConnectionString()))
{
sqlConnection.Open();
string commandText = "SELECT AreaOfLawTitle FROM [dbo].[CLR.AreaOfLaw] ORDER BY AreaOfLawTitle";
using (SqlCommand sqlCommand = new SqlCommand(commandText, sqlConnection))
{
sqlCommand.CommandType = CommandType.Text;
SqlDataReader reader = sqlCommand.ExecuteReader();
while (reader.Read())
{
string aolTitle = Convert.ToString(reader["AreaOfLawTitle"]);
AreasOfLawListItems.Add(new Models.AreasOfLaw { AreaOfLawTitle = aolTitle });
}
int n = AreasOfLawListItems.Count;
}
sqlConnection.Close();
}
}
catch (Exception ex)
{
}
}
我是绝望的人。谢谢你。
解决方案
您的列表aolTItles
永远不会被初始化。
您的代码应如下所示
private List<Models.AreasOfLaw> aolTitles = new List<Models.AreasOfLaw>();
public List<Models.AreasOfLaw> AreasOfLawListItems
{
get { return aolTitles; }
set { aolTitles = value; OnPropertyChanged("AoLTitles"); }
}
声明一个变量并初始化它是两个独立的步骤,在初始化之前不能使用变量。
推荐阅读
- r - 如何在 R 中更快地过滤数据集并计算新变量?
- angular - 我可以在 Angular 库中使用 Angular Web 组件吗?
- ckan - 显示按上传时间排序的数据集
- r - 根据其他列的最后一个非缺失值创建列
- c# - 有没有办法从树视图中的树节点复制或选择部分文本?C#
- php-7.2 - PHP:Lint/查找静默字符串到数组的转换
- python - 更改 setup.py 中的输出目录
- cassandra - Apache Flink:如何设置居住在 Cassandra sink 中的时间?
- android - RTL android:TextInputLayout 中的提示
- reactjs - 反应不在表格行中显示数据