vb程序删sql记录没反应,什么原因啊,求大神解答

vb程序删sql记录没反应,什么原因啊,求大神解答,第1张

For i = 1 To rs.RecordCount

If Year(rs.Fields(i).Value) <>time Then rs.Delete

rs.MoveNext

Next

这段代码明显有问题!!!

你既然是要检查checktime列是否等于系统年份,那么你怎么能让列变化呢!rs.Fields(i)是检查一条记录里的某一个字段的值,这样每次i循环谨配式检查的列都不一样。rs.MoveNext是移动到下一祥谈指条记录侍局,

你试下改成下面的样子

For i = 1 To rs.RecordCount

If Year(rs!checktime) <>time Then rs.Delete

rs.MoveNext

Next

trim()函数,是删除文本的前后空格

例州厅陆如:

dim s as string

DIM D AS STRING

s = " ABC "

D = Trim(s)

D的结果是“ABC”

前后空格没有了。

这个主要是怕,用户输入到文本框里的内容,前后带上不必要的空格,而造成找不到需要的记录。

但是你的这个Select语法还是错误的

应该:

Adodc1.Recordset = "select * from table1 where 姓名='" &Trim(Text1(0).Text) &"'"

少了2个单引号,在等号后面加一个单引号

在最后一对双册顷引号之间加伏坦1个单引号

Set Rs = Con.Execute("DELETE from MF_pos where 单据号 like '%" &Text1.Text &"%'")

If MsgBox("是否删除当前行?", vbYesNo, "确认") = vbYes Then

MsgBox "删除成功!"

End If

这样写有问题,你都执消灶行删除 *** 作了。还问别人是否确认??顺序问题。可以把第一句写在

MsgBox "删除成功!" 这里。

并且你这样也判断不埋盯了是否删除成功的。建议使拿液扮用下面的模式

conn.execute msql, t

If t >0 Then

'成功

Else

'失败

End If

如果你需要看数据库中有没有 符合条件的数据,可以先查询一次,判断查询结果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12478963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存