0

私はVisualStudiosC#で作業している学生プログラマーであり、データセットの情報にアクセスしてデータをクラスに挿入しようとしています。これは決して宿題ではありません。私が試したいと思っていた個人的なプロジェクトがいくつかあります。私はこのサイトで言及されているいくつかのアプローチを試しました。ただし、情報は表示されません。私のコードは次のようになります。

class MyClass
{
    public string ColumnData1
    {
        get; set;
    }
    public int ColumnData2
    {
        get; set;
    }
    public string Display()
    {
        string MyString = ColumnData1 + ColumnData2.ToString();
        return MyString;
    }
}

これを使用して、クラスにデータを挿入します。

private void MyForm_Load(object sender, EventArgs e)
{
    MyDataSet.MyDataTable MDT = new MyDataSet.MyDataTable();

    List<MyClass> MyList = new List<MyClass>();

    foreach (DataRow MyDataRow in MDT.Rows)
    {
        Mylist.Add(new MyClass()
                   {
                       ColumnData1 = (string)MyDataRow["Data1"],
                       ColumnData2 = (int)MyDataRow["Data2"]
                   {
    }

最後に情報を表示するには:

    textBox1.Text = Mylist[0].Display();
}

ただし、最終的には何も表示されません。情報を表示しようとしたのはこれだけではありませんでした。情報が存在しないようです。エラーは発生せず、コードの挿入部分に「ストップポイント」を追加しようとすると、スキップされます。また、データベースからデータをうまく引き出すテキストボックスとリストボックスがたくさんあることにも言及する必要があります。もちろん、VisualStudiosはそれらをバインドします。どんな助けでも大歓迎です。

編集:わかりました、新しいデータテーブルを除きます。既存のデータセットがある場合、それを使用してクラスを埋めるにはどうすればよいでしょうか。

4

2 に答える 2

0

your DataTable is empty(インスタンスの作成)が原因で、これは正常です。

MyDataSet.MyDataTable MDT = new MyDataSet.MyDataTable();//<------Empty


foreach (DataRow MyDataRow in MDT.Rows)
{
  ....
}

データセットを埋める:

string queryString = 
  "SELECT .... FROM YourTable";
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);

DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "NameOfDataSet");
于 2012-09-27T18:03:32.483 に答える
0

MyList、List of MyClassに挿入する前に、MDTにデータが必要です。

データなしの宣言:

MyDataSet.MyDataTable MDT = new MyDataSet.MyDataTable();
于 2012-09-27T18:05:35.740 に答える