数据集未以新形式识别
Dataset not recognized in new form
我在整个项目中都使用了我的数据集,没有任何问题。
当我添加新表单时,无法识别其中的数据集 - 只是新表单。
它说:
The name 'mydataset' does not exist in the current context
我检查了 using System.Data.SqlServerCe;
using System.Data.SqlClient;
在 form.cs
.
我试图在 form.cs
中声明一个新的但它不起作用。
form.cs :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
namespace O2
{
public partial class ProductSelect : Form
{
public ProductSelect()
{
InitializeComponent();
}
private void ProductSelect_Load(object sender, EventArgs e)
{
//DatabaseDataSet ds = new DatabaseDataSet();
foreach (DataRow row in mydataset.Products.Rows)
{
listBox1.Items.Add(row["Product_Name"]);
}
}
}
}
有什么帮助吗?
编辑:
form2 其中 mydataset
完美运行(无需声明):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
namespace O2
{
public partial class SalesBill : Form
{
public SalesBill()
{
InitializeComponent();
}
private void SalesBill_Load(object sender, EventArgs e)
{
foreach (DataRow row in databaseDataSet.Clients.Rows)
{
listBox1.Items.Add(row["Client_Name"]);
}
}
}
}
在 .NET 中,您可以这样声明数据集:
DataSet myDataSet = new DataSet();
您可以将 DataSet 声明为全局
public static readonly DataSet MyDataSet = new DataSet();
并以其他形式访问
CLassName.MyDataSet; // ClassName is that in which you declare your dataset
但推荐的方法是,您需要从工具箱或新项目对话框中添加数据集,并将所需的表添加到其中。
如果您使用设计器配置表单及其上的元素,请从数据部分的工具箱中,将数据集拖放到表单上。您可以 select typed dataset 或无类型数据集
如果您想通过代码创建和使用数据集,请考虑声明您的数据集变量并创建类型化或非类型化数据集的实例。
在设计器中打开表单 2,您可能会在它的组件托盘中看到一个名为 databaseDataSet 的组件。看来您使用的是类型化数据集。
如果您查看数据源 window (Shift+Alt+D),您将看到 DatabaseDataset 的一个节点和一些子节点,这些子节点是您的 table。
您可以将客户端 table 拖放到表单上。
我在整个项目中都使用了我的数据集,没有任何问题。
当我添加新表单时,无法识别其中的数据集 - 只是新表单。
它说:
The name 'mydataset' does not exist in the current context
我检查了 using System.Data.SqlServerCe;
using System.Data.SqlClient;
在 form.cs
.
我试图在 form.cs
中声明一个新的但它不起作用。
form.cs :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
namespace O2
{
public partial class ProductSelect : Form
{
public ProductSelect()
{
InitializeComponent();
}
private void ProductSelect_Load(object sender, EventArgs e)
{
//DatabaseDataSet ds = new DatabaseDataSet();
foreach (DataRow row in mydataset.Products.Rows)
{
listBox1.Items.Add(row["Product_Name"]);
}
}
}
}
有什么帮助吗?
编辑:
form2 其中 mydataset
完美运行(无需声明):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlServerCe;
using System.Data.SqlClient;
namespace O2
{
public partial class SalesBill : Form
{
public SalesBill()
{
InitializeComponent();
}
private void SalesBill_Load(object sender, EventArgs e)
{
foreach (DataRow row in databaseDataSet.Clients.Rows)
{
listBox1.Items.Add(row["Client_Name"]);
}
}
}
}
在 .NET 中,您可以这样声明数据集:
DataSet myDataSet = new DataSet();
您可以将 DataSet 声明为全局
public static readonly DataSet MyDataSet = new DataSet();
并以其他形式访问
CLassName.MyDataSet; // ClassName is that in which you declare your dataset
但推荐的方法是,您需要从工具箱或新项目对话框中添加数据集,并将所需的表添加到其中。
如果您使用设计器配置表单及其上的元素,请从数据部分的工具箱中,将数据集拖放到表单上。您可以 select typed dataset 或无类型数据集
如果您想通过代码创建和使用数据集,请考虑声明您的数据集变量并创建类型化或非类型化数据集的实例。
在设计器中打开表单 2,您可能会在它的组件托盘中看到一个名为 databaseDataSet 的组件。看来您使用的是类型化数据集。
如果您查看数据源 window (Shift+Alt+D),您将看到 DatabaseDataset 的一个节点和一些子节点,这些子节点是您的 table。
您可以将客户端 table 拖放到表单上。