【问题标题】:Why doesn't IntelliSense 'know' about my datatable?为什么 IntelliSense 不“了解”我的数据表?
【发布时间】:2014-06-17 18:09:00
【问题描述】:

我创建了一个数据集 (DataSet1.xsd)。然后我创建了一个 TableAdapter (DataTable1TableAdapter) 并添加了一个查询(下图):

当我预览数据时,我看到了我所期望的:大量返回的行。

在我的 C# 程序中,在 button1_Click 事件中,我尝试输入以下内容:

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;

namespace MailingList
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
            foreach (DataRow row in DataTable1.Rows)
            {
                // insert code here to work with the data
            }

        }
    }
}

问题在于 IntelliSense 无法识别我的数据表,并在其下方放置了一条弯曲的红线。由于我在设计器屏幕中描述了|设计了数据表,我不应该在我的程序中使用它吗?或者,我是否必须在程序中定义数据表并将列添加到其中?

感谢您的帮助!

【问题讨论】:

  • 您是否将数据集添加到表单中?
  • 啊,不,我没有。我的表单有一个按钮和一个多行文本框。我本来打算遍历数据表并将结果写到文本框。
  • Anurag,这就是解决方案。我必须将数据集、绑定源和 tableAdapter 添加到我的表单中。只有在此之后,IntelliSense 才“知道”我的数据集/数据表。如果您将此作为答案,我会标记它。

标签: c# visual-studio-2010 datatable intellisense


【解决方案1】:

您需要添加Dataset to Form1

来自 MSDN:

打开您要使用的表单或组件。必要时切换 到设计器的设计视图。从工具箱的数据选项卡中,拖动 一个 DataSet 对象到设计器上。

出现选择数据集对话框。选择类型化数据集,然后 然后从下拉列表中选择要使用的数据集,然后 然后点击确定。

下拉列表填充了所有类型化数据集的列表 项目中的类。

【讨论】:

  • 谢谢,阿努拉格!这为我指明了正确的方向。我很感激!
【解决方案2】:

DataTable 是 DataSet 的一部分,没有本地引用。改变

this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
foreach (DataRow row in DataTable1.Rows)

this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
foreach (DataRow row in this.DataSet1.DataTable1.Rows)

【讨论】:

  • 谢谢!这行得通,但只有在我遵循 Anurag 的建议后,我需要将数据集(以及绑定源和表适配器)添加到我的表单中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 2022-07-17
  • 2016-02-14
  • 1970-01-01
相关资源
最近更新 更多