使用的是ACCESS的数据库,使用ADO.COMMAND.EXECUTE方法,COMMAND.COMMANDTEXT使用的是参数话的sql语句,程序如下:
Private Const QRY_CODE_SEL1 = "QRY_DEPT_SELECT1 "
Sub test()
'**DB USE**
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Set con = CurrentProject.Connection
cmd.ActiveConnection = con
cmd.CommandText = QRY_DEPT_SEL1
cmd.CommandType = adCmdStoredProc
Set rs = cmd.Execute(, Parameters:=Array( "2000/05/05 ", "01 "))
MsgBox rs.RecordCount
MsgBox rs.Fields( "部门名称 ").Value
End Sub
其中参数化的sql语句是这样写的:(即QRY_DEPT_SELECT1)
SELECT *
FROM TBL_DEPT
WHERE 建立年月=[?] And 部门编号=[?];
后台的表TBL_DEPT,结构是:
建立年月 时间日期类型
部门编号 字符串
部门名称 字符串
///////////////////////表格中也存放了好几组的假数据,就有一条是按照查询的这个语句里面有2000/05/05和01,而且存放的位置也是对的,
但是运行就是不行,调试看到的rs.RecordCount是-1,后面的msgbox也老是报错,说我取到了文件尾部门啊什么的,我就非常郁闷,到底是怎么用的啊,哪位高手帮帮我啊
------解决方案--------------------------------------------------------
你的年月是什么格式存的,如果以日期格式的话是不是需要加#?
#2000/05/05#?
不熟...