在c#中向数据集添加列

时间:2013-12-03 07:10:32

标签: c# dataset

我正在尝试执行以下代码:

    static DataSet ds_input;
    static DataSet ds_output;


    ds_output.Tables.Add(new DataTable() );
    ds_output.Tables[0].Columns.Add("column_1", typeof(string));
    ds_output.Tables[0].Columns.Add("column_2", typeof(string));
    ds_output.Tables[0].Columns.Add("column_4", typeof(string));
    ds_output.Tables[0].Columns.Add("column_3", typeof(string));

对我来说似乎很简单,但不知怎的,它给了我以下错误:

Add(new DataTable())中初始化新实例时:

  

方法必须有返回类型。

ds_output.Tables[0]添加列时:

  

无效令牌'。'在类,结构或接口成员声明中

更新#1:

我在课程开头写了上面的代码如下:

namespace Bulk_Verification
{ 
    public partial class Form1 : Form

    {   static DataSet ds_input;
        static DataSet ds_output;
            //ds_output.Tables.Add(new DataTable());
            ds_output.Tables[0].Columns.Add("column_1", typeof(string));
            ds_output.Tables[0].Columns.Add("column_2", typeof(string));
            ds_output.Tables[0].Columns.Add("column_4", typeof(string));
            ds_output.Tables[0].Columns.Add("column_3", typeof(string));

在怀疑这可能是问题之后,我在它们应该被使用之前移动了这些线:

public static DataSet verify(DataSet ds_input)
        {
            ds_output.Tables.Add(new DataTable());
            ds_output.Tables[0].Columns.Add("column_1", typeof(string));
            ds_output.Tables[0].Columns.Add("column_2", typeof(string));
            ds_output.Tables[0].Columns.Add("column_4", typeof(string));
            ds_output.Tables[0].Columns.Add("column_3", typeof(string));

这也是返回值的唯一方法(我尝试创建的自定义数据集)。更改了位置,现在我在ds_output.Tables.Add(new DataTable());上使用调试器运行应用程序时出现以下编译器错误:

  

对象引用未设置为对象的实例。

1 个答案:

答案 0 :(得分:4)

我假设您已经发布了代码。所以编译投诉Method must have a return typeInvalid token '.' in class, struct, or interface member declaration

您应该创建一个Method并将代码包装在其中,它可以是实例方法,构造函数或静态方法或静态构造函数。

static DataSet ds_input = new DataSet();
static DataSet ds_output = new DataSet();

private static void InitializeMyDataSet()
{
    ds_output.Tables.Add(new DataTable() );
    ds_output.Tables[0].Columns.Add("column_1", typeof(string));
    ds_output.Tables[0].Columns.Add("column_2", typeof(string));
    ds_output.Tables[0].Columns.Add("column_4", typeof(string));
    ds_output.Tables[0].Columns.Add("column_3", typeof(string));
}

然后在您需要的地方拨打InitializeMyDataSet();

希望这有帮助。