DataGrid向绑定的数据库添加新记录的问题(另有00分在数据库分区)

rushinger 2005-04-01 08:19:11
先把我使用的表形象化地描述一下:
  表Event中有三个字段:时间(Date),地点代号(int),事件(Text)。OK,时间、地点、事件,有点像记叙文,便于理解。
  我在程序界面上先放置了一个ComboBox,把表中记录的所有时间(准确地说是日期)列举到该ComboBox中去,然后根据用户选中的日期过滤数据,显示在DataGrid控件中,这样DataGrid控件中就只有地点、事件两项内容,便于用户输入他所选日期内在各个地点发生的各种事件。
  问题是DataGrid控件向数据库中写入记录时缺少“时间”这一项,不能写成功!怎样才能把用户选中的 时间 和用户新加的 地点与事件 一起写入表中呢?当然可以修改表的设计,取消时间不能为空的限制,或者为时间字段设置一个默认值(比如说当前日期吧)然后在其他地方再修改,——可这些做法都不是我想要的,我想知道的是:怎样通过修改DataGrid控件操作数据库的代码,从ComboBox中取出当前选中的时间值,和新的 地点、事件 值一起写入数据库?
  分少再加,先谢谢了!
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rushinger 2005-04-01
  • 打赏
  • 举报
回复
我用的是VC++,CDataGrid中应该怎样修改BeforeUpdate事件?
rushinger 2005-04-01
  • 打赏
  • 举报
回复
问题解决!细述一下firmbird(firmbird)兄所说思路的具体实现方法,以供以后遇到相同情况的兄弟们借鉴:m_dateGrid.GetColumns().GetItem(_variant_t((short)nIndexOfTheFieldYouWantToHideBaseByZero)).SetVisible(FALSE);//隐藏
然后在控件上右击,在菜单中选择“Event...”打开添加事件的对话框,在左侧选中“BeforeUpdate”双击、添加到右侧列表框中,再在右侧列表框中双击刚加进来的“BeforeUpdate”就可以编辑代码了:
(m_ctrlDateGrid.GetColumns().GetItem(_variant_t((short)nIndexOfTheFieldYouHided))).SetValue((VARIANT)(_variant_t)("YouValue"));//此处假设隐藏那一列的默认值设为“YouValue”
Over!
  请firmbird(firmbird)兄到http://community.csdn.net/Expert/topic/3899/3899068.xml?temp=.9236109接另外100分!
firmbird 2005-04-01
  • 打赏
  • 举报
回复
datagrid中添加时间一列,设置为不可见,在datagrid的更新事件BeforeUpdate中再设置时间值

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧