我已经和一个Student.DBF数据库建立了连接。下面,就是怎么样读取这张表里面"生日"(日期型)在1980-10/10号和1985-3-4号这之间的学生记录呢?这个语句我不会写,主要是因为我不知道VB连DBF时,SQL语句里面日期用什么表示?我用#和'都告诉我语法错误。所以,就问问大家了!下面是我写的SQL语句:
StrConn = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=c:\dbf;SourceType=DBF"
Conn.CursorLocation = adUseClient
Conn.Open StrConn
sqlstr="select 姓名,生日 from Student.dbf where 生日 between 2002-9-1 and 2002-9-30"
’然后执行下面一句话的时候出错,告诉我语法错误
Rst.Open SQLStr, Conn, adOpenStatic, adLockOptimistic

解决方案 »

  1.   

    可能是Microsoft Visual Foxpro 不支持 Between ... and ...语法.
      

  2.   

    印象中好象是 > #2001-01-01#  <
      

  3.   

    sqlstr="select 姓名,生日 from Student.dbf where (生日 > 2002-9-1) and( 生日<2002-9-30)"
      

  4.   

    这样。。
    "select 姓名,生日 from Student.dbf where 生日 >=convert (datetime,'" & format(" 2002-9-1","yyyy.mm.dd")& ",102) and 生日 <=convert (datetime,'" & format("2002.09.01","yyyy.mm.dd") & ",102)"
      

  5.   

    sqlstr="select 姓名,生日 from Student.dbf where 生日 >={^2002-09-01} and 生日<={^2002-9-30}
      

  6.   

    sqlstr="select 姓名,生日 from Student.dbf where 生日 between ctod("2002-09-01") and ctod(^2002-9-30)"
      

  7.   

    应该是
    sqlstr="select 姓名,生日 from Student.dbf where 生日 between ctod('2002-09-01') and ctod('2002-9-30')"
      

  8.   

    TO  VertyNew(华) :CTOD()这个函数?SQL有这个函数么?