Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> считать объект с базы данных 
:(
    Опции темы
Ruzl
Дата 28.3.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Доброго времени суток.
 
Подскажите как можно считать с базы данных объект, определенного класса, не используя построчный перебор.

Пример класса :

Код

 public class Avto : Base
    {
        public Avto(string AvtoId, string IdDogkacko, string IdDog_GO, string drID)
        {
            this._AvtoId = AvtoId;
            this._Mark = Mark;
            this._goContractID = IdDog_GO;
            this._KACKOContractID = IdDogkacko;
            this._drId = drID;
        }
        public Avto(string id)
        { this.ID = id; }

        public Avto()
        {_id = Guid.NewGuid(); }
        private string _AvtoId;
        private string _year;
        private string _Mark;
        private string _VDvig;
        private string _Coast;
        private string _owner;
        private string _KACKOContractID;
        private string _goContractID;
        private string _drId;

        public Driver DrId
        {
            get { return DriverMeneger.SearchByID(_drId); }
            set { _drId = value.ID; }
        }
        public GO GoContractID
        {
            set { _goContractID = value.ID; }
            get { return GoMeneger.SearchByID(_goContractID); }
        }
        public KACKO KACKOContractID
        {
            set { _KACKOContractID = value.ID; }
            get { return KACKOMeneger.SerchByID(_KACKOContractID); }
        }

        public string Year
        {
            get { return _year; }
            set { _year = value; }
        }
        public string Owner
        {
            get { return _owner; }
            set { _owner = value; }
        }
        public string Coast
        {
            set { _Coast = value; }
            get { return _Coast; }
        }
        public string Mark
        {
            set { _Mark = value; }
            get { return _Mark; }
        }
        public string Id
        {
            set { _AvtoId = value; }
            get
            { return _AvtoId; }
        }
        public string VDvig
        {
            set { _VDvig = value; }
            get { return _VDvig; }
        }
        public override string ToString()
        {
            return "Гос номер : " + Id + " Марка : " + Mark;
        }
    }

PM MAIL   Вверх
thomas
Дата 28.3.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доцент... почти
***


Профиль
Группа: Завсегдатай
Сообщений: 1385
Регистрация: 3.10.2006
Где: " Сказочное королевство"

Репутация: 35
Всего: 65



Ruzl, 
Приветствую.
Если я правильно понял твой вопрос, то:
- Сделать запрос к БД используя параметр, указывающий на конкретное авто.
- И присвоить значения полям класса из результата этого запроса.
Все.

Примерно так
Код

using System;
using System.Collections.Generic;
using System.Text;

namespace TestLuc.Classen
{
    class Artikel
    {
    #region Declaration.
        private AccessDB m_ArtikelDb; // класс вполняющий манипуляции с БД.
        private string m_Code;
        private string m_Categorie;
        private string m_Leveranciersreferentie;
        private string m_CodeLeverancier;
        private string m_Naam;
        private string m_Beschrijving;
        private float m_Aankoopprijs;
        private float m_Verkoopprijs;
        private int m_BtwCode;
        private float m_BtwPercentage;
        private int m_Voorraad;
        private int m_MinVoorraad;
        private DateTime m_DatumEersteAankoop;
        private int m_AantalMaandenGarantie;
    #endregion

    #region Constructors.
        /// <summary>
        /// Default constructor.
        /// </summary>
        public Artikel()
        {
            m_ArtikelDb = new AccessDB();
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="ArtCode">Het is value van ArtikelCode.</param>
        /// <remarks></remarks>
        public Artikel(string ArtCode)
        {
            m_Code = ArtCode;
            m_ArtikelDb = new AccessDB();
            FillData();
        }
    #endregion

    #region Methodes.

        public void FillData()
        {
            string sql = "SELECT dbo.[tblArtikels_(verkoop)].*, dbo.tblBTWcodes.[BTW-percentage] FROM dbo.[tblArtikels_(verkoop)] INNER JOIN";
            sql += " dbo.tblBTWcodes ON dbo.[tblArtikels_(verkoop)].[BTW-code artikel] = dbo.tblBTWcodes.[BTW-code]";
            sql += " WHERE [Code artikel] = '" + m_Code + "';";
            m_ArtikelDb.FillDataSet("artikel", sql);

            m_Categorie = m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Categorie"].ToString();
            m_Leveranciersreferentie = m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Leveranciersreferentie artikel"].ToString();
            m_CodeLeverancier = m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Code leverancier"].ToString();
            m_Naam = m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Naam artikel"].ToString();
            m_Beschrijving = m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Beschrijving artikel"].ToString();
            m_Aankoopprijs = float.Parse(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Aankoopprijs artikel"].ToString());
            m_Verkoopprijs = float.Parse(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Verkoopprijs artikel"].ToString());
            m_BtwCode = Convert.ToInt32(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["BTW-code artikel"]);
            m_BtwPercentage = float.Parse(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["BTW-percentage"].ToString());
            m_Voorraad = Convert.ToInt32(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Voorraad"]);
            m_MinVoorraad = Convert.ToInt32(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Minimale voorraad"]);
            m_DatumEersteAankoop = Convert.ToDateTime(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Datum eerste aankoop"]);
            if(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Aantal maanden garantie"]!=DBNull.Value)
                m_AantalMaandenGarantie = Convert.ToInt32(m_ArtikelDb.DS.Tables["artikel"].Rows[0]["Aantal maanden garantie"]);
        }

        public void Update()
        {
            string sql = "UPDATE [tblArtikels_(verkoop)] SET ";
            sql += "Categorie = '" + m_Categorie + "', ";
            sql += "[Leveranciersreferentie artikel] = '" + m_Leveranciersreferentie + "', ";
            sql += "[Code leverancier] = '" + m_CodeLeverancier + "', ";
            sql += "[Naam artikel] = '" + m_Naam + "', ";
            sql += "[Beschrijving artikel] = '" + m_Beschrijving + "', ";
            sql += "[Aankoopprijs artikel] = " + m_Aankoopprijs + ", ";
            sql += "[Verkoopprijs artikel] = " + m_Verkoopprijs + ", ";
            sql += "[BTW-code artikel] = " + m_BtwCode + ", ";
            sql += "[Voorraad] = " + m_Voorraad + ", ";
            sql += "[Minimale voorraad] = " + m_MinVoorraad + ", ";
            sql += "[Datum eerste aankoop]= '" + m_DatumEersteAankoop.ToString("MM/d/yyyy") + "'";
            if (m_AantalMaandenGarantie != 0)
                sql += ", [Aantal maanden garantie] = " + m_AantalMaandenGarantie;
            else
                sql += ", [Aantal maanden garantie]= NULL"; 
            sql += " WHERE [Code artikel] = '" + m_Code + "';";

            System.Windows.Forms.MessageBox.Show(sql);

            m_ArtikelDb.DoNonQuery(sql);

        }

        public void Insert()
        {
            string sql = "INSERT INTO [tblArtikels_(verkoop)] ([Code artikel], Categorie, [Leveranciersreferentie artikel],";
            sql += " [Code leverancier], [Naam artikel], [Beschrijving artikel], [Aankoopprijs artikel],";
            sql += " [Verkoopprijs artikel], [BTW-code artikel], [Voorraad], [Minimale voorraad],";
            sql += " [Datum eerste aankoop]";
            if (m_AantalMaandenGarantie != 0)
                sql += ", [aantal maanden garantie])";
            else
                sql += ")";
            sql += " VALUES ('" + m_Code + "', '" + m_Categorie + "', '" + m_Leveranciersreferentie + "', '" + m_CodeLeverancier + "', '";
            sql += m_Naam + "', '" + m_Beschrijving + "', " + m_Aankoopprijs + ", " + m_Verkoopprijs + ", ";
            sql += m_BtwCode + ", " + m_Voorraad + ", " + m_MinVoorraad + ", '" + m_DatumEersteAankoop.ToString("MM/d/yyyy") + "'";
            if (m_AantalMaandenGarantie != 0)
                sql += "' " + m_AantalMaandenGarantie + ")";
            else
                sql += ")";
            
            m_ArtikelDb.DoNonQuery(sql);
        }

    #endregion

    #region Properties.

        public string Code
        {
            get { return m_Code; }
            set { m_Code = value; }
        }
        public string Categorie
        {
            get { return m_Categorie; }
            set { m_Categorie = value; }
        }
        public string Leveranciersreferentie
        {
            get { return m_Leveranciersreferentie; }
            set { m_Leveranciersreferentie = value; }
        }
        public string CodeLeverancier
        {
            get { return m_CodeLeverancier; }
            set { m_CodeLeverancier = value; }
        }
        public string Naam
        {
            get { return m_Naam; }
            set { m_Naam = value; }
        }
        public string Beschrijving
        {
            get { return m_Beschrijving; }
            set { m_Beschrijving = value; }
        }
        public float Aankoopprijs
        {
            get { return m_Aankoopprijs; }
            set { m_Aankoopprijs = value; }
        }
        public float Verkooppeijs
        {
            get { return m_Verkoopprijs; }
            set { m_Verkoopprijs = value; }
        }
        public int BtwCode
        {
            get { return m_BtwCode; }
            set { m_BtwCode = value; }
        }
        public float BtwPercentage

        {
            get { return m_BtwPercentage; }
            set { m_BtwPercentage = value; }
        }
        public int Voorraad
        {
            get { return m_Voorraad; }
            set { m_Voorraad = value; }
        }
        public int Minvoorraad
        {
            get { return m_MinVoorraad; }
            set { m_MinVoorraad = value; }
        }
        public DateTime DatumEersteAankoop
        {
            get { return m_DatumEersteAankoop; }
            set { m_DatumEersteAankoop = value; }
        }
        public int AantalMaandenGarantie
        {
            get { return m_AantalMaandenGarantie; }
            set { m_AantalMaandenGarantie = value; }
        }
    #endregion
    }
}



--------------------
Крепко жму горло, искренне ваш Thomas. (С)vingrad
Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну!
Проблемы негров шерифа не волнуют.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.