【问题标题】:Where is the .Fill Method.Fill 方法在哪里
【发布时间】:2013-02-15 10:35:04
【问题描述】:

我正在使用这个

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

为什么没有.Fill method

“System.Data.DataTable”不包含“Fill”的定义和 没有扩展方法“填充”接受类型的第一个参数 可以找到“System.Data.DataTable”(您是否缺少使用 指令还是程序集引用?

我想用like

DataTable dt = new DataTable();
dt.Fill();

【问题讨论】:

  • 您的数据适配器在哪里?我看到一个 adapter 变量,但没有声明 DataAdapter
  • 谢谢你们.. 我真的以为DataTable.Fill 方法。我想我现在的眼睛有些不对劲。顺便说一句,所有答案都来自我+1。再次感谢您。
  • 最好是你将一个答案标记为解决方案,所以这对于来看这个问题的人来说是清楚的。 :)
  • 是的。所以我选择 Tim Schmelter 先生以获得更多支持。干杯。谢谢@Abbas .. 我没有认真使用这个DataTable 进行开发。

标签: c# .net datatable


【解决方案1】:

DataTable 无法填充自身。因此,您需要DataAdapter

例如DbDataAdapter.Fill:

using(var con = new SqlConnection(connectionString))
using(var adapter = new SqlDataAdapter(sql, con))
{
    DataTable dt = new DataTable();
    adapter.Fill(dt);
    return dt;
}

【讨论】:

    【解决方案2】:

    您似乎在寻找DataAdapter.Fill

    添加或刷新 DataSet 中的行以匹配数据源中的行。

    DataTable 没有 Fill 方法。

    【讨论】:

      【解决方案3】:

      它在 DataAdapter 类中:MSDN: DataAdapter Class

      ==> DataAdapter.Fill Method (DataSet)

      【讨论】:

        【解决方案4】:

        对于填充数据,您必须使用 DataAdapter 类。

        nad 将数据填充到数据表或数据集使用如下语法。

        SqlDataAdapter adapter= new SqlDataAdapter();
        
        adapter.Fill(dt);
        

        对于数据集

        adapter.Fill(ds);
        

        如果您使用 OleDb 填充数据 hv 来使用

        OleDbDataAdapter adapter= new OleDbDataAdapter();
        

        【讨论】:

        • 你来不及了.. 无论如何欢迎来到stackOveflow!你有一个 +1 :D