我的设想是这样的
有一张tiwdbadvwebgrid表及一张tiwcalendar日期表。
想通过点击日期表里相应的日期而自动更新表。现在的问题是
我有这么一条语句
  outSql='SELECT OutStock.ID,OutStock.Date as 领料日期,Person.Name as 领料人姓名,Department.Name as 领料部门,OutStock.Money as 合计金额'+
          'from(Department inner join OutStock on Department.ID=OutStock.IDDepartment) inner join Person on OutStock.IDPerson=Person.ID'+
          'where(((OutStock.Date)=# %s #));';准备通过这样的语句sql.Add(format(outsql,[formatdatetime('mm-dd-yyyy',cal.Date )]));来执行查询。但是DELPHI老是报错说SQL语句出错。我估计是这一句出错'where(((OutStock.Date=# %s #));原程序的作者用的是ACESS数据库的。我用的是MS SQL这一段语句应该怎么写呢。。望达人赐教呀。。先行谢过。。在线等。。环境是windows2003server+d7+intraweb7.1.12+ms sqlserver2000personal

解决方案 »

  1.   

    把SQLSERVER语句打印出来,看看就知道呀!
      

  2.   

    把'where(((OutStock.Date)=# %s #));';改成'where(((OutStock.Date)=# %s #))';
      

  3.   

    'from...'和'where...'改成' from...'和' where...'就是from与where前都要加空格!
      

  4.   

    'where(((OutStock.Date)=# %s #));'; 少了引号'where(((OutStock.Date)='# %s #'))'
      

  5.   

    'where(((OutStock.Date)='# %s #'))'
      

  6.   

    'where OutStock.Date=''%s''';
    sql.Add(format(outsql,[datatostr(formatdatetime('mm-dd-yyyy',cal.Date)]));
      

  7.   

    按楼上诸位的方法改过。。还是不行呀。。用这种方法改的时候'where(((OutStock.Date)=# %s #));'; 少了引号'where(((OutStock.Date)='# %s #'))'
    提示's' identifier redeclaerd
    按这种方法
    'from...'和'where...'改成' from...'和' where...'就是from与where前都要加空格!
    提示语法出错。。望大家帮帮忙呀
      

  8.   

    试试
    outSql='SELECT OutStock.ID,OutStock.Date as 领料日期,Person.Name as 领料人姓名,Department.Name as 领料部门,OutStock.Money as 合计金额 '+
              ' from(Department inner join OutStock on Department.ID=OutStock.IDDepartment) inner join Person on OutStock.IDPerson=Person.ID '+
              ' where OutStock.Date=''%s''';
    sql.Add(format(outsql,[datatostr(formatdatetime('mm-dd-yyyy',cal.Date)]));
      

  9.   

    outSql='SELECT OutStock.ID,OutStock.Date as 领料日期,Person.Name as 领料人姓名,Department.Name as 领料部门,OutStock.Money as 合计金额 '+
              ' from(Department inner join OutStock on Department.ID=OutStock.IDDepartment) inner join Person on OutStock.IDPerson=Person.ID '+
              ' where OutStock.Date=''%s''';
    //最后一句改为下面的就试一下
    日期格式不一样
    sql.Add(format(outsql,[datatostr(cal.Date)]));