Private Sub Cmd_sc_Click()
Dim str As String
str = InputBox("请输入要删除的学生学号", "删除学号")
If str <> "" Then
str = "select * from 表1 where 学号 like '%" & str & "%'"
Adodc1.RecordSource = str
Adodc1.Refresh
a = MsgBox("确定删除该记录吗?", vbOKCancel, "删除记录")
If a = vbOK Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
End If
End If
只要有Adodc1.Refresh这代码的存在就不能实现用Movenext 移动到下一条记录,并且也不能用ADODC控件上的左右箭头翻看记录。。查了好久也不知道怎么回事
目前只能用
Adodc1.RecordSource = "select * from 表1 "
Adodc1.Refresh
来解除这个问题。。可是这样还是不能实现移动到下一条记录。。求教各位高手怎么解决这个问题,我使用ADODC控件来连接数据库的
根据各位提示明白点了。。那这里不是Refresh的问题。
是不是用RecordSource查询记录会只显示符合条件的记录。。如果只有1条记录符合那删除后自然也没有下一条记录 是这样吧? 那我如何实现在查询并删除了一条记录后还能跳到所删除记录的下一条记录呢?(假设有一个界面可以显示单条记录并且所删除记录有下一条记录)
求教 VB 有关Adodc1.Refresh的问题
答案:2 悬赏:80
解决时间 2021-03-06 02:54
- 提问者网友:一人心
- 2021-03-05 07:39
最佳答案
- 二级知识专家网友:统治我的世界
- 2021-03-05 09:01
你需要搞清楚这条语句的作用就够了!!
Adodc1.Refresh
就是Adodc1这个控件的refresh方法,refresh方式就是刷新的意思。
一般情况下,是对数据库的表进行操作之后,由于数据不同步,导致看到的还是未修改之前的,所以需要用到这句来刷新表格。
之后再进行操作就可以看到准确的了。
再者,你的这里MOVENEXT还需要判断数据库表格为空的情况!
Adodc1.Refresh
就是Adodc1这个控件的refresh方法,refresh方式就是刷新的意思。
一般情况下,是对数据库的表进行操作之后,由于数据不同步,导致看到的还是未修改之前的,所以需要用到这句来刷新表格。
之后再进行操作就可以看到准确的了。
再者,你的这里MOVENEXT还需要判断数据库表格为空的情况!
全部回答
- 1楼网友:旧事诱惑
- 2021-03-05 10:01
你的adodc是怎么配置的?
建议使用adodb试试,代码如下:
dim cn as new adodb.connection
dim cmd as new adodb.command
private sub command1_click()
' on error resume next
cn.connectionstring = "provider=sqloledb.1;integrated security=sspi;persist security info=false;initial catalog=数据库名;data source=主机名或者ip地址"
cn.cursorlocation = aduseclient
cn.mode = admodereadwrite
cn.open
cmd.activeconnection = cn
cmd.commandtype = adcmdtext
cmd.commandtext = "select * into tmp2 from tbacustomers"
cmd.execute
end sub
我上机测试过了,不过只能运行一次,因为有重名的表存在,再次运行会报错的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯