我创建了一个数据集(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无法识别我的数据表,并在其下面放置了一条弯曲的红线。既然我在设计器屏幕中描述了|设计了datatable,那么我不应该在我的程序中使用它吗?或者,我是否必须在程序中定义datatable并向其中添加列?
谢谢你的帮助!
发布于 2012-03-21 01:52:20
您需要添加Dataset to Form1。
来自MSDN:
打开要使用的窗体或组件。如果需要,请切换到设计器的“设计”视图。从“工具箱”的“数据”选项卡上,将一个DataSet对象拖到设计器上。
此时将出现“选择数据集”对话框。选择“类型化数据集”,然后从下拉列表中选择要使用的数据集,再单击“确定”。
该下拉列表将填充项目中所有类型化数据集类的列表。
发布于 2012-03-21 01:52:32
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)
https://stackoverflow.com/questions/9797528
复制