2013-03-27 3 views
1

В настоящее время я работаю над школьным проектом и надеялся, что кто-то может указать мне на онлайн-руководство для следующего. Это домашнее задание, поэтому я не ищу, чтобы кто-то дал мне ответ, но я хотел бы найти учебник, похожий на мое предполагаемое решение. Я искал SQLDataReader и Linq Google и не смог найти решение, подобное тому, что я преследую.Использование нескольких наборов результатов из SQLDataReader

Я подключаю свой проект клиента C# к базе данных SQL. Эта база данных содержит таблицу для собак и таблицу для BreedOfDog, чтобы учесть, что собаки могут быть смешанных пород. BreedOfDog имеет два значения: DogId и BreedId, которые соединяют таблицу Dog с таблицей породы. На моем клиентском приложении есть контейнер, который представляет информацию для собаки. Существует также класс Dog, который содержит список объектов породы. Список объектов породы будет использоваться для заполнения списка с породами собак. Это то, что я намерен делать в псевдокоде:

Создайте SQL-запрос, который позволит использовать несколько наборов результатов. Я буду использовать хранимые процедуры из базы данных SQL

Открыть подключение к базе данных SQL

Выполните первый запрос, который будет получать список объектов Dog

Выполнение второго запроса. Этот запрос будет тянуть DogId для каждой собаки в первом запросе, выполнить запрос на BreedOfDog, создать список объектов породы и добавить это к объекту Dog. Это будет выполнено для каждой Собаки в списке Собаки.

Закрыть соединение

Есть хороший turtorial, что вы можете указать мне?

ответ

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(); 
    } 
} 
+0

Привет, Майк, я надеялся найти учебник, но это тоже кажется идеальным! Мое понимание этого заключается в том, что я настроил SQL-читатель внутри самого конструктора Dog. Я даже не думал об этой возможности. Я попробую это, когда вернусь домой сегодня вечером. Спасибо! – 2013-03-27 20:45:19

0

Я помню, делает эту же проблему в программистами школе (колледже)! Вы полюбите linq на 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 для чтения/записи/удаления/etc. http://msdn.microsoft.com/en-us/library/bb882643.aspx
+0

Привет, пользователь1477388, я наслаждаюсь своим курсом и только начал использовать linq. Я также взял расширенный курс SQL, и мне нравится linq как средство запроса объектов. Спасибо за учебник, я проверю это, когда вернусь домой сегодня вечером. – 2013-03-27 20:49:10

Смежные вопросы