我的程序:
sqlstr = "select * From load where convert (char,s_date,111) like'sdate'"i = 0
Do While i < 4
value(i) = 0
i = i + 1
Loop
dccmd.CommandText = sqlstr
dccmd.CommandType = adCmdText
dccmd.ActiveConnection = dcconn
Set dcrs = dccmd.Execute()If (Not dcrs.BOF) Then
dcrs.MoveFirst
End If
i = 0
Do While (i < 4)
value(i) = dcrs.Fields("s_date")(****)
dcrs.MoveNext
i = i + 1
Loop
Set dcrs = Nothing
dccmd.cancel
其中表格load 中字段有:s_date (datetime) e_date (datetime)
变量sdate是(string)且值为“2003-01-01”
当我执行到(****)处,系统提示我“实时错误‘3021’BOF或EOF中有一个是“真”,或者当前的记录以被删除,所需的操作要求一个当前的记录。
为什么会出现这个问题???
sqlstr = "select * From load where convert (char,s_date,111) like'sdate'"i = 0
Do While i < 4
value(i) = 0
i = i + 1
Loop
dccmd.CommandText = sqlstr
dccmd.CommandType = adCmdText
dccmd.ActiveConnection = dcconn
Set dcrs = dccmd.Execute()If (Not dcrs.BOF) Then
dcrs.MoveFirst
End If
i = 0
Do While (i < 4)
value(i) = dcrs.Fields("s_date")(****)
dcrs.MoveNext
i = i + 1
Loop
Set dcrs = Nothing
dccmd.cancel
其中表格load 中字段有:s_date (datetime) e_date (datetime)
变量sdate是(string)且值为“2003-01-01”
当我执行到(****)处,系统提示我“实时错误‘3021’BOF或EOF中有一个是“真”,或者当前的记录以被删除,所需的操作要求一个当前的记录。
为什么会出现这个问题???
解决方案 »
- Inet1的GetChunk获取的字串长度不够
- Win7中VB打开excel对象,但是报错“429”ActiveX部件不能创建对象,XP就没有这个问题
- line函数出问题
- WORD加密问题
- 一个非夷所思的问题!!!?
- gird中的数据怎么导出生成TXT文件?
- 请问如何vb中如何建立临时表,来加入一些其他recordset处理过的数据.
- 关于学编程序找工作的问题?
- 我快疯了,我想读ini中的一个段下的所有值,但是keyName不知道,该如何是好?
- 知不知道win2000pro和win2000server的区别!(说者便有分)
- 问资料集(有图片)导入EXCEL的问题?做到一行记录对应一个图片(图片是路径名)
- 关于SetWindowsHookex的问题
msgbox "没有记录!!!"
exit sub
Else
dcrs.MoveFirst
End If
Do While i < 4
value(i) = 0
i = i + 1
Loop
dcrs.CursorLocation=adUseClient
dcrs.open sqlstr,dcconn,3,3
If dcrs.BOF And dcrs.EOF Then
msgbox "没有记录!!!"
exit sub
Else
dcrs.MoveFirst
End Ifi = 0
Do While (i < 4)
value(i) = dcrs.Fields("s_date")(****)
dcrs.MoveNext
i = i + 1
Loop
dcrs.close
Set dcrs = Nothing
我把你的代码替换了我的
If (Not dcrs.BOF) Then
dcrs.MoveFirst
End If
运行时的确提示我,没有记录,可是为什么呢?
我得SQL语句select * From load where convert (char,s_date,111) like'sdate'在Query Analyzer里运行时有运行结果的呀。结果是:
s_date e_date department
--------------------------- --------------------------- ----------
2003-01-01 07:00:00.000 2003-01-01 10:00:00.000 js
Dim sdate As String
。。
year = DTPicker_que.year
mon = DTPicker_que.Month
day = DTPicker_que.day
sdate = year & "/" & Format(mon, "00") & "/" & Format(day, "00")
sdate = year & "—" & Format(mon, "00") & "—" & Format(day, "00")
如果按照你的sdate = year & "—" & Format(mon, "00") & "—" & Format(day, "00")
就发生没有记录的现象了,因为convert(char,s_date,111)输出的日期格式是****/**/**
我现在的问题仍然是运行程序是系统跳出实时错误‘3021’