标题:ADO控件绑定MSHFlexGrid时修改数据老是要重新操作才能更新是怎么回事?
只看楼主
DXLAB
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-1-12
结帖率:66.67%
已结贴  问题点数:20 回复次数:3 
ADO控件绑定MSHFlexGrid时修改数据老是要重新操作才能更新是怎么回事?
求救ADO控件绑定MSHFlexGrid时修改数据老是要重新操作才能更新是怎么回事?实际数据中已经更新过来了,但MSHFlexGrid就是没有同步显示,代码如下
Private Sub Command1_Click(Index As Integer)
Dim i As Integer '声明控件组索引变量
Dim strsql As String '声明记录选取行号变量
Dim cmd As New
Select Case Index  '控制组选择条件语句
Case 0             '点击索引为0的[新增]按键
For i = 0 To 8     '循环语句
Text1(i).Text = ""     '清空各文本框
Next i
Label3.Visible = False  '设置标签不显示
Text1(0).SetFocus       '获得焦点
Adodc1.Recordset.AddNew  '新增记录
Case 1            '点击索引为1的[保存]按键

If Label3.Visible = True Then  '判断标签是否显示,若显示则表示为已存在该记录,则执行修改记录语句
mymsg = MsgBox("您确认要修改此记录吗?", 4, "提示信息")  '提示确认信息
If mymsg = vbYes Then
cmd.ActiveConnection = cnn   '设置当前连接
= adCmdText
= "update t_slxx  set 客户名称='" & Trim(Text1(2).Text) & "'  where 申请ID='" & Trim(Label3.Caption) & "'"  '修改符合条件的记录
cmd.Execute
Adodc1.Recordset.Update '这里以下三句不知对不对反正是没有起到效果
Adodc1.Recordset.Requery
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
End If
Else
搜索更多相关主题的帖子: MSHFlexGrid 修改 数据 记录 cmd 
2018-01-27 00:04
xyxcc177
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
得分:10 
因为你修改语句直接对数据库中的表进行了修改,对记录集并没有修改。
2018-01-28 07:41
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
得分:10 
修改、添加、删除记录后是更新的数据表的记录,但不可能自动更新VB界面的控件数据,因为ADO得到的记录集是没有更新前的记录集,如果要更新,必须刷新该界面。

请不要选我!!!
2018-01-28 10:38
DXLAB
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-1-12
得分:0 
我下面有写
Adodc1.Recordset.Update
Adodc1.Recordset.Requery
Set MSHFlexGrid1.DataSource = Adodc1
MSHFlexGrid1.Refresh
End If
Else
对数据库重新连接,并刷新显示控制啊,
2018-01-29 13:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484475-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.220553 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved