1

私は現在、学校のプロジェクトに取り組んでおり、誰かが次のオンラインチュートリアルを教えてくれることを望んでいました. これは宿題なので、答えを教えてくれる人を探しているわけではありませんが、意図した解決策に似たチュートリアルを見つけたいと思っています。私は SQLDataReader と Linq をグーグルで検索してきましたが、私が追求しているものと同様の解決策を見つけることができませんでした。

C# クライアント プロジェクトを SQL データベースに接続しています。このデータベースには、Dogs のテーブルと BreedOfDog のテーブルが含まれており、犬は雑種である可能性があるという事実を説明しています。BreedOfDog には、Dog テーブルを Breed テーブルに接続する DogId と BreedId の 2 つの値があります。私のクライアント側アプリケーションには、犬の情報を表示するコンテナがあります。品種オブジェクトのリストを含む Dog クラスもあります。品種オブジェクトのリストは、リストボックスに犬の品種を入力するために使用されます。これは私が疑似コードでやろうとしていることです:

複数の結果セットを許可する SQL クエリを作成します。SQL データベースのストアド プロシージャを使用します

SQL データベースへの接続を開く

Dog オブジェクトのリストを取得する最初のクエリを実行します

2 番目のクエリを実行します。このクエリは、最初のクエリで各犬の DogId を取得し、BreedOfDog でクエリを実行し、Breed オブジェクトのリストを作成して、これを Dog オブジェクトに追加します。これは、Dogs のリスト内の各 Dog に対して実行されます。

接続を閉じる

あなたが私に指摘できる良いチュートリアルはありますか?

4

2 に答える 2

1
    List<DogClass> Dogs = new List<DogClass>();
    string SQL = "select DogId from Dog";
    SqlCommand Command = new SqlCommand(SQL, Con);
    SqlDataReader Reader = Command.ExecuteReader();
    while (Reader.Read())
    {
        DogClass Dog = new DogClass(Reader, Con);
        Dogs.Add(Dog);
    }
    Reader.Close();

using System;
using System.Collections.Generic;
using System.Data.SqlClient;

class DogClass
{
    string DogId;
    List<BreedClass> Breeds = new List<BreedClass>();

    internal DogClass(SqlDataReader Reader, SqlConnection Con)
    {
        DogId = Convert.ToString(Reader.GetValue(Reader.GetOrdinal("DogId"))).Trim();
        string SQL = "select BreedOfDog from Breeds where DogID = '" + DogId + "'";
        SqlCommand Command = new SqlCommand(SQL, Con);
        SqlDataReader Reader2 = Command.ExecuteReader();
        while (Reader2.Read())
        {
            BreedClass Breed = new BreedClass(Reader);
            Breeds.Add(Breed);
        }
        Reader2.Close();
    }
}

using System;
using System.Data.SqlClient;

class BreedClass
{
    internal string Breed;

    internal BreedClass(SqlDataReader Reader)
    {
        Breed = Convert.ToString(Reader.GetValue(Reader.GetOrdinal("BreedOfDog"))).Trim();
    }
}
于 2013-03-27T20:41:21.910 に答える
0

これと同じ問題をプログラマーの学校 (大学) でやったのを覚えています! あなたは linq to sql を気に入るはずです。あなたがする必要があるのは:

  1. linq データ クラスを配置するフォルダーを右クリックします。[新しい項目の追加] -> [LINQ to SQL クラス] をクリックします。
  2. 次に、サーバー エクスプローラーを開き、テーブルを LINQ to SQL クラス デザイナーにドラッグ アンド ドロップします。
  3. 次に、クラスを使用する .cs ページに移動し、 のようなデータベース クラスの新しいオブジェクトをインスタンス化しますDataClasses1DataContext db = new DataClasses1DataContext();
  4. 次に、LINQ to SQL ステートメントを介してデータベースを簡単に操作できますIQueryable<BREED> breeds = db.BREEDs.Take(50);。LINQ を使用して読み取り/書き込み/削除などを行う方法については、この記事を参照してください。http://msdn.microsoft.com/en-us/library/bb882643.aspx
于 2013-03-27T20:45:44.993 に答える