2010-04-07 56 views
0

问候,类型化数据集初始化问题与C#Windows应用程序

我在Windows应用程序中使用C#工作。

我有一个名为packetsDBDataSet的类型化数据集,它有一个名为packetsTableAdapter的表适配器,它带有插入名为InsertPackets()的数据的方法。

当我想插入新的数据我用了一个代码,我以前用asp.net页面,它工作正常,但没有我得到错误。

这里是代码:

public packetsDBDataSetTableAdapters.packetsTableAdapter ds = new packetsDBDataSetTableAdapters.packetsTableAdapter(); 

public packetsDBDataSet.packetsDataTable insert = ds.InsertPackets(); 

和这里是错误:

错误1的字段初始不能引用非静态字段,方法或属性“Packets.Form1.ds” C:\ Users \ Ali \ Documents \ Visual Studio 2008 \ Projects \ Packets-3 \ Packets \ Packets \ Form1.cs 26 59数据包

我已经包含到我的项目中: 使用数据包; using Packets.packetsDBDataSetTableAdapters;

请指教解决这个问题。

更新:

我也尝试:

公共packetsDBDataSetTableAdapters.packetsTableAdapter DS =新packetsDBDataSetTableAdapters.packetsTableAdapter();

ds.InsertPackets(“1”,“2”,“3”);

,我得到这个错误:

错误1个无效令牌 '(' 类,结构或接口成员声明中的C:\用户\阿里\文档\ Visual Studio 2008的\项目\包-3 \包\包\ Form1.cs中28个29包

+0

公共领域是不好的做法。 – SLaks 2010-04-07 23:27:49

回答

1

这些线被称为字段初始化;它们声明的字段并将其初始化一些值

作为错误说,场的初始化不能引用的实例成员。班级(因为他们在班级完全建造之前执行)。

因为它引用了ds实例成员,所以您需要将insert = ds.InsertPackets();移动到构造函数中。

+0

谢谢你的帮助。 – Eyla 2010-04-08 02:20:11