我做了个界面:有“删除”“更新”“插入”三个按钮,对应的每个按钮都有“完成”与“取消”。比如说我点了“插入”按钮,填完界面的数据后,然后点“完成”或“取消”;点了“更新”改完要更新的数据后也要点“完成”或者“取消”,我原来做了个成员函数记录了点的哪个按钮然后在“完成”和“取消”里用了switch,case语句判断点了哪个按钮分别处理。不知道各位还有什么好的策略?

解决方案 »

  1.   

    就两种情况的话用条件等呵呵。
    case = condition ? A :B
    反正你这种情况逃不了判断。======================================= 
    C++程序做UI方法的革命,用flash打造超炫UI 
    http://flash4ui.googlepages.com
      

  2.   

    将插入ITEM作为一个函数,功能是插入一组数据。
    通过传入的ID是否为空判断是insert还是update。
    不管是“插入”还是“更新”都调用这个。对于这些标准的数据库表操作,如果没有特殊处理(如:保存前的数据格式变化),建议封装成标准的增、删、改、查,这4个函数操作所有的表。将这些操作数据库表的公共函数放在一个类里。作为静态函数或静态类都可以。
      

  3.   

    如果是用的CRecordset数据集操作AddNew 为增加新记录作准备。调用Update 来完成增加
    CancelUpdate 取消任何用AddNew 或Edit 操作指定的未决定
    的更新
    Delete 从记录集中删除当前记录。删除之后,应用程
    序必须显式地滚动到另一个记录
    Edit 为改变当前记录作准备。调用Update 来完成编

    Update 通过将新数据或所编辑的数据保存到数据源
    上,来完成一次AddNew 或Edit 操作单击"完成" Update
    单击"取消" CancelUpdate