【发布时间】:2011-02-02 16:15:21
【问题描述】:
这是一个有点难问的问题,但欢迎任何反馈。
先从背景说起,我是一名大学生,去年学习软件工程,我们介绍了 c#,我在一家软件公司工作,用 c#(他们的主要语言是使用 QT 的 c++)编写原型软件。原型它被提供给了一些客户,这些客户都反馈了积极的反馈。
现在我正在查看该应用程序并认为我可以将其用作我的简历的展示,尤其是因为使用该软件的客户表示他们将签署一些东西以供参考。
因此,如果我要这样做,那么我最好把它做好,并尽我所能做到最好。所以我开始研究它并思考我可以改进它的地方,我认为可以改进的方法之一是它处理数据库连接和数据的方式。
应用程序本身与 MySQL 服务器一起运行,并且有 6 种不同的模式可以从中获取数据。
我写了一个类(称为databaseHandler),其中包含mysqlconnection(一个问题是关于连接是否应该在应用程序运行的整个过程中保持打开状态,或者打开它触发查询然后关闭它等等)在里面这个类我写了一个方法,它接受一些参数并创建它的查询字符串,然后它执行整个 mysqlDataReader = cmd.executeReader(),然后将读取器返回到它被调用的位置。
在与朋友交谈后,他提到如果该方法返回原始数据而不是读取器可能会很好,因此将所有数据库“资料”远离主应用程序。
在玩了之后,我设法找到了一些关于将读取器数据放入数组和数组列表并传递回来的教程,还尝试传递回哈希表的数组列表 - 这些方法 obv 意味着开发人员必须知道列名以便找到正确的数据。
然后我偶然发现了一个页面,该页面继续创建一个具有列名属性的类并创建了一个列表,您可以从中提取数据:
http://zensoftware.org/archives/248是链接
所以这让我想到,为了使用这种方法,我是否需要创建 6 个具有表列属性的类(几个表最多有 10-15 列)?还是有更好的方法来处理我的数据?
我对这些事情并不是很了解,但如果指向正确的方向,我是一个非常快速的学习者:)
再次感谢您的任何意见。
维德
【问题讨论】: