我目前正在尝试从用 C# 编写的 WPF 应用程序中的数据库中检索记录。我正在使用 SQL 数据阅读器,它似乎可以正常连接,但下面给了我一个 NullReferenceException:
if (isString == true)
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT PartNumber FROM LoanerItems", loanersConnection);
DataTable datatable = new DataTable();
adapter.Fill(datatable);
for (int i = 0; i < datatable.Rows.Count - 1; i ++)
{
passBackRecords[i] = datatable.Rows[i].ToString();
}
}
同样,我似乎正在连接到数据库,但如果我通过调试器运行数据表似乎没有被填充。
我的连接字符串以防万一:
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "LLOYD2\\";
scsb.InitialCatalog = "LoanersTest";
scsb.IntegratedSecurity = true;
scsb.ConnectTimeout = 30;
我目前正在使用一个包含两条记录的测试数据库,而不是最终确定的数据库。我试过使用 Transact-SQL 编辑器,记录看起来很好。
*编辑:
初始化 passBackRecords 后,以下开始抛出 ArguementOutOfRange 异常:
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM LoanerItems", loanersConnection);
DataTable datatable = new DataTable();
adapter.Fill(datatable);
for (int i = 0; i < datatable.Rows.Count - 1; i++)
{
passBackRecords[i] = datatable.Rows[i]["BCPartNumber"].toString;
}
我都试过了:
for (int i = 0; i < datatable.Rows.Count - 1; i++)
和:
for (int i = 1; i < datatable.Rows.Count; i++)
但似乎两者都不起作用。
datatable.Rows.Count;
显示数据表中有两行。