我写的语句为:select * from 原始成绩表 where 学号 like '%" & 2001 & "%'" ,而原始成绩表中有学号这个字段,并且有一系列学号为:20010101,20010102......的纪录,但他为什么查不出来呢?始终显示否和条件的纪录数为0。这里2001是为了测试这条语句举的例子,其实应该是字符串strxuehao。
如果你用的是Access 那么通配匹配应该是"*"而不是"%",即 "select * from 原始成绩表 where 学号 like '*" & strxuehao & "*'"
我可能早上没说清楚,我写的语句是:Strsql="select * from 原始成绩表 where 学号 like '%" & 2001 & "%'" Dim AdoNew1 As ADODB.Recordset Set AdoNew1 = New ADODB.Recordset AdoNew1.Open Strsql, StrConn, 3, 3 然后按F8语法检查已经没错误了,但就是符合条件的纪录数始终为0。我学号字段定义为char类型的,是不是因为2001不是char型的缘故呀(2001是整型吧)?
统配符正确,你的字符串写错了 Strsql="select * from 原始成绩表 where 学号 like '%2001%'"因为2001是一个字符串,而不是个字符型变量
strsql="select * from 原始成绩表 where 学号 like '" & 2001 & "%'
那么通配匹配应该是"*"而不是"%",即
"select * from 原始成绩表 where 学号 like '*" & strxuehao & "*'"
Dim AdoNew1 As ADODB.Recordset
Set AdoNew1 = New ADODB.Recordset
AdoNew1.Open Strsql, StrConn, 3, 3
然后按F8语法检查已经没错误了,但就是符合条件的纪录数始终为0。我学号字段定义为char类型的,是不是因为2001不是char型的缘故呀(2001是整型吧)?
Strsql="select * from 原始成绩表 where 学号 like '%2001%'"因为2001是一个字符串,而不是个字符型变量