C#面向對象的資料庫應用類 (加上少許個人心得)

這是個人最近的使用習慣, 暫未見有人分享類似的代碼, 個人而言, 它只是初級面向對象的用法! 但它是實用的, 易於修改的, 易於明白的東西!c#

當你在一個系統裡,操做資料每個TABLE的加入, 更新等等的東西, 而對於業餘的在下來說, 因為經常遇到類似的事情, 想在一個地方裡用GLOBAL VARIABLE去編, 但它好像不夠面向對象... 最近有了這個新的寫法: (可能已經有不少仁兄會這樣寫, 因此講明, 雖是本身想出來, 但可不表明我是第一人!!)code

class Receiver
    {
        public string company { get; set; }
        public string receiver { get; set; }
        public string country { get; set; }
        public string email { get; set; }
        public string piroity { get; set; }
        public string province { get; set; }
        public  string category { get; set; }
    }

    class ReceiverTable : Receiver
    {
        public string table { get; set; }
        public ReceiverTable()
        {
            company = "Company";
            receiver = "ReceiverName";
            country = "Country";
            email = "Email";
            piroity = "piority";
            province = "province";
            table = "receiver";
            category = "category";
        }
    }

    class ReceiverDBControler : Receiver
    {
        public ReceiverDBControler()
        { 
            
        }

        public void AddRec(Receiver myReceiver)
        {

            ReceiverTable myReceiverTable = new ReceiverTable();

            DB.dbControler mydb = new DB.dbControler();
            mydb.options.Add("MODE", "INSERT_EXIT");
            mydb.options.Add("TABLE", myReceiverTable.table);
            Hashtable myValues = new Hashtable();
            myValues.Add(myReceiverTable.company, "'" + myReceiver.company + "'");
            myValues.Add(myReceiverTable.receiver, "'" + myReceiver.receiver + "'");
            myValues.Add(myReceiverTable.country, "'" + myReceiver.country + "'");
            myValues.Add(myReceiverTable.email, "'" + myReceiver.email + "'");
            myValues.Add(myReceiverTable.province, "'" + myReceiver.province + "'");
            myValues.Add(myReceiverTable.piroity, "'" + myReceiver.piroity + "'");
            myValues.Add(myReceiverTable.category, "'" + myReceiver.category + "'");

            mydb.options.Add("VALUES", myValues);

            mydb.Insert();
        }
    }

 

在下這個是C# + MYSQL方案裡節錄出來... get

想法上, 我會有一個類(例子中的Receiver), 和本來那個資料庫的每個FIELD相付合, 但全部變數, 都是字串, 因為字串是百搭的!!string

我會把本來那個類, 轉生一個叫TABLE的類(例子中的ReceiverTable ), 這個類的做用, 是用來記錄每一個FILED的名稱, 方便日後作INSERT, SELECT 等的事情...it

 而在本來那個類, 我再轉生一個資料庫控制的類, 作該TABLE的新增, 修改等工做!io

這是這樣, 資料庫的操做, 變得面向對象! 資料庫的修改, 更加簡單!table

在這個方法下, 若是操做多於一個TABLE時, 在下的見解是: 交給STORED PROCEDURE (預儲程序)!class

這樣, 你就能簡便, 快捷以及準確的成功開發了!email

 

註: 這裡的ReceiverDBControler, 你們修改用做平常的ADO.NET的INSERT方法, 就能夠正常運行, 因為在下另外用其餘方法作INSERT...程序

你們看後, 請多多指教! 在下只是業餘, 水準有限... 請賜教讓小弟有所精進! 但願見識更好的處理方法, 敬希賜教!

相關文章
相關標籤/搜索