当前位置: 首页 > 面试题库 >

SqlDataAdapter.Fill(DataTable)未填充DataTable

钱浩荡
2023-03-14
问题内容

我目前正在尝试从用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;

显示数据表中有两行。


问题答案:

即使返回零行,DataTable也不会是null。但是,这一行有一个地方:

passBackRecords[i] = datatable.Rows[i].ToString();

将会失败-当passBackRecords是时null。另一个可能的位置是这样的:

.Rows[i].ToString();

如果该行中的值是,则在调用时null也会得到a 。但是我 差点*
把钱花在尚未初始化的事实上。NullReferenceException``ToString()
*passBackRecords



 类似资料:
  • /views/fornecedor/ordersearch.xhtml@34,84 value=“#{order.id}”:类“java.util.HashSet”没有属性“id”。 和:

  • 我正在从Ajax JSON创建一个DataTable。 将创建DataTables,但它显示一个错误: DataTables警告:表ID=CHANGETABLE-为行0,列0请求未知参数“0”。有关此错误的详细信息,请参阅http://datatables.net/TN/4 我的JSON看起来如下所示 在我的Java控制器中创建了这样的JSON对象: 我不知道如何将此信息与 属性一起使用,以使其适

  • 问题内容: 我目前正在使用Page_Load中的以下代码创建和读取DataTable 我想知道如何转换此代码,以便它从SQL查询中读取?我正在尝试下面的代码,但不确定如何连接它们,以便页面加载中的数据表使用下面的SQL命令填充。 我被困在: 我希望成为 问题答案: 您需要修改方法,并在其中添加“实验”代码,然后返回。

  • 问题内容: 建议使用JQuery数据表。现在,我需要用从控制器发送的一堆json对象填充网格。我如何从JS在网格上发送此数据 更新 我已经找到了这些链接,但是我不知道如何实现它。 问题答案: 您应该使用JQuery DataTable sAjaxSource属性来指定ajaxsource,在这种情况下,它将是/ HomeReturnJsonData 以下是一个例子

  • 问题内容: 我那里有点问题。当我想在JSF中填充DataTable时,我必须先创建一个模型,然后在我的视图中使用它。就像这里的 Primefaces示例一样。 现在,我必须创建DataTable来显示来自Web服务的数据。我不知道会有多少列,我也不知道它们的名称…您能推荐一些明智的解决方案吗? PS。我也不知道如何从Web服务中返回数据-尚待确定。 编辑 问题答案: 收集中代表属性的数据。的表示列

  • 我有一个非常简单的Java/Spring应用程序来演示KStream的功能,但不幸的是,我无法使KStream加载数据。想法是创建一个KStream对象,并使用controller GET方法简单地检索其内容。示例代码: 问题-主题中有消息,但foreach(...)中的KStream枚举没有从中检索任何结果。KStream对象状态为“RUNning”,日志中没有错误。 生成随机应用程序ID并将A