关于recordset.find方法

lesonly 2006-06-01 09:45:34
Dim pn As String
pn = Form1.TreeView1.SelectedItem.Text
rec.Open "pinfo", con, adOpenKeyset, adLockOptimistic 'rec为recordset对象
rec.MoveFirst
rec.Find "pname = 'pn'", , , 1
If Not rec.EOF Then
Text1.Text = rec("pname")
Text1.SetFocus
End If
请高手帮我看一下为什么找不到该记录呢 我确定该记录一定存在数据库中!
每次调试的时候都是不走if 真是郁闷死了 我错在哪了呢?
...全文
290 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiyun0112 2007-01-22
  • 打赏
  • 举报
回复
rec.Filter "pname = 'pn'"

*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
上官云峰 2007-01-22
  • 打赏
  • 举报
回复
为什么要用到rec.Find 呢
Dim pn As String
pn = Form1.TreeView1.SelectedItem.Text
strsql="select * from pinfo where pname = 'pn'"
rec.Open strsql, con, adOpenKeyset, adLockOptimistic 'rec为recordset对象
if rec.recordcount>0 ‘有记录
Text1.Text = rec("pname")
Text1.SetFocus
end if


NewQger 2007-01-22
  • 打赏
  • 举报
回复
既然前边还有代码,从前边研究一下.很奔的方法,find前边作个循环 第一条到最后一条,然后跟踪 你要取的字段的值只否在记录集了啊.
kssys 2006-06-01
  • 打赏
  • 举报
回复
rec.Find "pname = 'pn'", , , 1

->
rec.Find "pname = 'pn'"
lesonly 2006-06-01
  • 打赏
  • 举报
回复
就是那个地方设的断点 我现在就是不明白为什么找不到该记录
kssys 2006-06-01
  • 打赏
  • 举报
回复
楼主在rec.Open "pinfo"设个断点。

然后按F8,看它的运行顺序。
lesonly 2006-06-01
  • 打赏
  • 举报
回复
谢谢了
1 "pinfo"是表的名称
2 rec.movefirst我确定必有记录,这个过程是前一个过程后续(前一过程向数据库里添加记录)
kssys 2006-06-01
  • 打赏
  • 举报
回复
分析了这段代码:
1)rec.Open "pinfo"..... 楼主的Pinfo是存储过程吗?
2)rec.MoveFirst 存在潜在的错误,如果没有记录将出错。应加上if rec.recordCount<>0 then
3)不走if 可能是之前的已出现错误,跳到错误处理了:)

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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