加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 创建一个与SQL数据库交互的类

发布时间:2020-12-16 00:21:53 所属栏目:百科 来源:网络整理
导读:我熟悉编程中面向对象的主要概念,目前我正在教自己如何设计类. 我有一个非常简单的类calld公司.这是我到目前为止的代码 using System;namespace Addressbook{ public class Company { private string _companyId; private string _companyName; private stri
我熟悉编程中面向对象的主要概念,目前我正在教自己如何设计类.

我有一个非常简单的类calld公司.这是我到目前为止的代码

using System;

namespace Addressbook
{
    public class Company
    {
        private string _companyId;
        private string _companyName;
        private string _companyType;
        private string[] _companyDetails;

        public Company()
        {

        }


        public string CompanyId
        {
            set
            {
                this._companyId = value;
            }
        }

        public string CompanyName
        {
            set
            {
                this._companyName = value;
            }
        }

        public string CompanyType
        {
            set
            {
                this._companyType = value;
            }
        }


        public string[] GetCompanyDetails()
        {

            return null;
        }

    }
}

我现在要做的是实现一些方法,这就是我迷失的地方.

我想到的第一个方法是GetCompanyDetails(),它将从SQL数据库中收集数据然后显示它.可能在DataGridView或其他东西.

我的问题是我无法弄清楚应该如何编写这个方法.我是否将所有SQL查询和连接放在其中?或者我只是将它们的实例作为参数传递?我应该从方法中返回什么类型?

有人可以给我一些指导吗?

此外,如果您有关于此主题的任何优秀教程/指南的链接,请发布它们.

谢谢.

解决方法

请查看“数据源架构模式”部分中的模式: http://martinfowler.com/eaaCatalog/index.html.虽然您最终可能最终会使用DataMapper / ORM路径,但您可能需要使用ActiveRecord模式.

在敏捷精神中,我会保持连接和事务管理最初非常简单.也许只是这个类中的私有函数.然后我会让每个方法在SQL或SP中定义它的查询并执行它并对结果做一些事情.这使数据访问逻辑在适当的位置保持在一起.

您可能希望将“getter”函数设置为shared / static,以便不需要实例.然后你可以这样写:

var companies = Company.GetCompanyDetails();

虽然超级简单,但这种方法可以让您继续前进,同时仍然可以扩展范围.一旦事情变得越来越复杂,这种方法将变得过于简单.此时,您需要扩展和重构,考虑更强大的连接/事务管理,对象创建和查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读