[ADODC]:Unknown error .[ADO]:查询报错

[ADODC]:Unknown error .[ADO]:查询出错
Private Sub Command6_Click()
  Dim str1 As String
  str1 = "SELECT * FROM sdzz WHERE (SUBSTRING(id,7,6)=substring((CONVERT(VARCHAR(10),DATEADD(mm,-721,GETDATE()),112)),1,6) AND xb='男') OR (SUBSTRING(id,7,6)=substring((CONVERT(VARCHAR(10),DATEADD(mm,-661,GETDATE()),112)),1,6) AND xb='女')"
  Adodc1.RecordSource = str1
  Adodc1.Refresh
End Sub
上述语句在sql2000是中能运行的,功能根据身份证号码是查询出表中男满60周岁,女满55周岁的人。
为什么放在VB查询中却出错了呢。
先提示
[ADODC]:Unknown error .[ADO]:
再提示
Method 'refresh' of object 'IAdodc' failed
怎么办呢
------解决思路----------------------
Adodc1.RecordSource 不能是字符串吧,很久没用VB了,以前我记得用 Datasource,网上有很多的实例的,找一下吧
------解决思路----------------------
你SQL语句都没有执行,直接把字符串做数据源了。。。
敢不敢再坑点?
------解决思路----------------------
不是 RecordSource 的赋值问题吧?楼主试试把 str1 中 WHERE  之后(包括 WHERE )的部分去掉试试。

看看是否调用函数的问题。