我创建了一个数据集(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无法识别我的数据表并在其下面放置了一条波浪形的红线。由于我在设计器屏幕中描述了数据表,我不应该在我的程序中使用它吗?或者,我是否必须定义数据表并在程序中添加列?
感谢您的帮助!
答案 0 :(得分:1)
您需要添加Dataset to Form1。
来自MSDN:
打开您要使用的表单或组件。如有必要,请切换 设计师的设计视图。从“工具箱”的“数据”选项卡中,拖动 设计器上的DataSet对象。
出现“选择数据集”对话框。选择Typed Dataset,然后选择 然后从下拉列表中选择要使用的数据集,以及 然后单击“确定”。
下拉列表中填充了所有类型化数据集的列表 你的项目中的课程。
答案 1 :(得分:1)
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)