我在使用 C# 时遇到的问题之一是,网上似乎有太多信息,以至于我很难找到最基本问题的正确答案。
我正在尝试做一些简单的事情: 我有一个按钮,单击它,它会查询数据库并在我的 Windows 窗体上填充数据网格。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection c = new SqlConnection("Data Source = (local); Integrated Security = true; Initial Catalog = pubs; ");
c.Open();
// 2
// Create new DataAdapter
SqlCommand cmd = c.CreateCommand();
cmd.CommandText = @" SELECT * FROM Authors ";
SqlDataReader reader = cmd.ExecuteReader();
dataGridView1.DataSource = reader;
dataGridView1.DataBind();
}
错误 1“System.Windows.Forms.DataGridView”不包含“DataBind”的定义,并且找不到接受“System.Windows.Forms.DataGridView”类型的第一个参数的扩展方法“DataBind”。 ...
我可能缺少一个“using 指令”,但是是哪一个呢?多次 Google 搜索告诉我如何将 Yahoo RSS Feed 绑定(bind)到 gridview 或提供有关“使用指令”的各种晦涩细节。
也许我错误地使用了 SqlDataReader。我应该改用 SqlAdapter 吗?所有关于 Windows C# 表单的优秀在线基础教程都怎么了?几个月前,我发现了一些很棒的教程,但它们似乎已经失去了页面排名,我无法再使用基本的谷歌搜索找到它们。
最佳答案
您没有错过 using 指令;只是 WinForms DataGridView doesn't have a DataBind method 。只需分配 DataSource 就足以使绑定(bind)发生;您也不需要调用方法。
但是,我认为您不能将 SqlDataReader 指定为数据源。根据DataSource property documentation in MSDN ,DataSource 必须是 IList、IListSource、IBindingList 或 IBindingListView。您可能需要将数据加载到 DataTable 或 DataSet(或使用对象关系映射器填充的对象数据源)中,并将其用作 DataSource。
关于时间:2019-03-17 标签:c#windowsforms/basicdatagrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1449773/