1

为什么方法不能使用数据集从数据库中向我发送值?

这是示例

错误示例

public string dane()
        {
            // Get the DataTable of a DataSet.

            DataTable table = DataSet1.Tables["Products"];
            DataRow[] rows = table.Select();

            string s ="";
            // Print the value one column of each DataRow.
            for (int i = 0; i < rows.Length; i++)
            {
                s += rows[i]["ProductID"] + "  ";
            }

            return s;

        }

错误 - 非静态字段、方法或属性需要对象引用

找不到数据。(但错误已修复)

public string dane()
{
    // Get the DataTable of a DataSet.
    DataSet1 dataSet = new DataSet1();
    DataTable table = dataSet.Tables["Products"];
    DataRow[] rows = table.Select();

    string s ="";
    // Print the value one column of each DataRow.
    for (int i = 0; i < rows.Length; i++)
    {
        s += rows[i]["ProductID"] + "  ";
    }

    return s;

}

在此处输入图像描述

4

2 回答 2

3

那是因为您的DataSet1课程可能不是静态的,尽管我们不知道,因为您没有向我们展示。Tables如果不先创建DataSet1对象,就无法引用。我想你在这里得到错误:

DataTable table = DataSet1.Tables["Products"];

在您的第二个代码示例中,您实际上创建了一个DataSet解决错误的实例。

您可以保持修复或保持DataSet1静态,但在这种情况下,这似乎不是一个好的解决方案。

于 2013-04-08T14:52:06.243 回答
1

您没有参考第一个示例中的数据集。您需要将其传入或使其成为全局变量。

于 2013-04-08T14:50:53.697 回答