博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#面向對象的資料庫應用類 (加上少許個人心得)
阅读量:6114 次
发布时间:2019-06-21

本文共 2614 字,大约阅读时间需要 8 分钟。

hot3.png

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

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

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方案裡節錄出來... 

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

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

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

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

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

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

 

註: 這裡的ReceiverDBControler, 大家修改用作日常的ADO.NET的INSERT方法, 就可以正常運行, 因為在下另外用其他方法做INSERT...

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

转载于:https://my.oschina.net/u/173776/blog/55695

你可能感兴趣的文章
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>
充分利用HTML标签元素 – 简单的xtyle前端框架
查看>>
设计模式(十一):FACADE外观模式 -- 结构型模式
查看>>
iOS xcodebuile 自动编译打包ipa
查看>>
程序员眼中的 SQL Server-执行计划教会我如何创建索引?
查看>>
【BZOJ】1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路(floyd)
查看>>
cmake总结
查看>>
数据加密插件
查看>>
linux后台运行程序
查看>>
win7 vs2012/2013 编译boost 1.55
查看>>
IIS7如何显示详细错误信息
查看>>