数据库编程实战---经验心得



                                                   数据库编程实战

                                           ——经验心得


//程序在初始阶段,界面还有很多BUG

遇到的困难:

1.ADO数据库的链接,方式多种多样,最好只选一种,要杂糅,太容易出错,光链接数据库就花了好几个小时

2.ADO数据库的查询,有两种方式:Recordset::Open(...)    和    Connection::Excequte(...);
      (1).第一种方式较复杂但是不容易出错,因为这是直接调用的ADO对象包装的函数来对记录集操作,每一种对数据库的操作都有一些函数对应,
         一般不会有很大错误,即使有也可以用异常捕获出来。
     (2).第二种方式较简单,参数较少。但是在用CString格式化SQL语言时要注意,很容易出现格式化错误的现象:如:类型不匹配,长度不匹配等
         这种方式直接写出SQL语言,然后连接到数据库查询,在调用CString::Format()函数格式化的时候,很容易不匹配;即使匹配无措,也只能
      说明格式化完成,不能说明SQL语言的正确与否。因此,这种方式虽然直观方便,但是对于新手来说比较棘手。
        
3.界面方面,编辑框的风格设置:
    (1)通过关联一个编辑框类变量,设置显示的编辑框为只读,但是还是会捕获输入焦点。即会显示插入符
     (2)通过获得编辑框句柄,调用SetnotSurport()函数,直接将其初始化为只读,因此到后面就不能写入内容了。这与软件要求的功能不符合
         该软件要求的是,点击列表中的某一行,要在下方对应编辑框中显示相应信息,因此,点击不同行就要求编辑框内容可以写入。

4.对于Windows的消息机制不熟悉,还有对于MFC框架中函数调用关系不明确,导致编程的时候到处出错。

     解决方案:  看书,了解Windows消息的机制,以及MFC基础类库的函数关系。

                         查MSDN,了解各个类,和函数之间的关系。


5.对于MFC的编程思想还不熟练,数据、文档、视图隔离的类似于(mvc)的模式框架不熟练:

    (1),因此导致很多地方的代码不优化,有很多冗余;

    (2)同时,因为将这些快杂糅在一起了,导致关系混乱,模糊。编程很费力,思路很混乱。

            比如:用户通过跟数据库交互时,不能直接在视图界面直接实现,中间应该增加一个中转站(也就是缓存),将输入存储到中转站中,然后通过中转站统一对数据 进行  访问,中转站定义各种操作接口和方法;同理输出也是通过中转站。这样的话,用户就不能直接访问数据库,增加了数据库数据的安全性、隐蔽性。同时,对于开发者来说,分成三块的话,这样每一块就可以独立的去编写,然后根据需要的功能提供统一的链接接口、方法。这样就实现的代码的重用,省了很多时间,同时,在每一个接口的编写都正确的前提下,思路也更加清晰,开发者只需要根据想要实现的功能调用相应的方法、再加一些附加的代码就可以实现比较大的功能。


   因此,这几天的学习,我深刻体会到了,在计算机中:统一化、模块化、框架化是多么的重要。因为计算机是死的,不会联想,因此实际上每一个具体的功能都要编一个方法或者接口。一个小小的功能:例如图像编辑器,文本编辑器等等,就得上千上万个方法和函数。更不用说一些大型的软件了。因此,我们需要将一些相近的需求统一化,将一些相同类别的功能集模块化。这样的话,即方便编程,也方便管理。即便如此,要想做一个稳定、健壮的中型程序也还是得以---万条为单位的代码。可想而知如果没有统一化、模块化得多少代码,而且,要是不这样,也编不出来。

你可能感兴趣的:(编程,博客,vc++)