向各位高手请教一个问题,很头疼的问题,我始终说不出原因
下面是程序的一段源码,目的是想查询出某段时间内借出的书本,并用列表框控件显示数据,其中时间可以随时设置,根据图书借阅时间来设置。查询语句我已经写在下面,但是运行是我发现,SQL的值不是我写的全部内容,而是在borrow.state 处就结束了,如此一来,这个语法系统当然会报错,但是我不明白系统会截断我的语句,请问这是什么错误呢,我已经不是第一次了,谢谢各位的指教。
Private Sub CmdQuery_Click()
 Dim SQL As String
 Dim SqlTimeFrom As Date
 Dim SqlTimeTo As Date
 SqlTimeFrom = DTPFrom.Value
 SqlTimeTo = DTPTo.Value
 
  SQL = "select borrow.bookid as 图书编号,borrow.bookname as 图书名称,borrow.borrowtime as 借书时间"
  SQL = SQL + "borrow.readerid as 读者工号,reader.depart as 部门,reader.name as 读者姓名,borrow.type as 图书类别,"
  SQL = SQL + "borrow.returntime as 还书时间,borrow.state as 借阅标志,borrow.overstate as 是否超期,"
  SQL = SQL + "borrow.chaoqidays as 超期天数,books.price as 图书定价 from borrow,reader,books "
  SQL = SQL + "where reader.id=borrow.readerid and borrow.bookid=books.bookid and borrow.state='在借' and (borrow.borrowtime between sqltimefrom and sqltimeto"
  
  DataEnv.rssqlBorrQuery.Close
  DataEnv.rssqlBorrQuery.Open SQL
 ''刷新用户导航的网格控件,并且根据记录集中记录的数目,来改变各个浏览按钮的状态。
    Call RefreshGrid
End SubPrivate Sub RefreshGrid()
  DGQuery.DataMember = ""
  DGQuery.Refresh
  DataEnv.rssqlBorrQuery.Requery  DGQuery.DataMember = "sqlBorrQuery"
  DGQuery.Refresh
  
 
End Sub

解决方案 »

  1.   

    从未遇到过SQL语句被截的问题,检查一下你的代码是否有问题!检查换行及引号的配对!
    是不是'在借' 中的单引号将后面的语句注释掉了?应该不会的!
      

  2.   

    SQL = "select borrow.bookid as 图书编号,borrow.bookname as 图书名称,borrow.borrowtime as 借书时间"
    少个逗号,
      

  3.   

    的确是少了个逗号
    另外你是用什么方法跟踪SQL的值的?
      

  4.   

    在调试菜单里有一个添加监视的命令,输入SQL表达式后,它会跟踪出该表达式的值
      

  5.   

    逗号加上了,他能够全部认得,可是却报告最后一句话多了一个括号,去掉括号后,系统提示说至少一个参数值没有指定值,一查发现它还是截断了整个SQL语句(如此一来,系统不报错才叫怪呢),可是为什么截断这个语句我还是找不出解决的方法
      

  6.   

    你的sqltimefrom和sqltimeto似变量吧?  SQL = "select borrow.bookid as 图书编号,borrow.bookname as 图书名称,borrow.borrowtime as 借书时间,"
      SQL = SQL + "borrow.readerid as 读者工号,reader.depart as 部门,reader.name as 读者姓名,borrow.type as 图书类别,"
      SQL = SQL + "borrow.returntime as 还书时间,borrow.state as 借阅标志,borrow.overstate as 是否超期,"
      SQL = SQL + "borrow.chaoqidays as 超期天数,books.price as 图书定价 from borrow,reader,books "
      SQL = SQL + "where reader.id=borrow.readerid and borrow.bookid=books.bookid and borrow.state='在借' "
      SQL=SQL+" and borrow.borrowtime between '" & sqltimefrom & "' and '" & sqltimeto & "'"