当前位置: 代码迷 >> VBA >> 参数化sql语言 有关问题
  详细解决方案

参数化sql语言 有关问题

热度:8493   发布时间:2013-02-26 00:00:00.0
参数化sql语言 问题
使用的是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#?


不熟...
  相关解决方案