本人有段设置TTable的Filter属性的代码(在DBGrid中复选若干行,以这些行的'车辆号码'自段作筛选参数,从table中选出相应的行)如下:
condition := Format('BT_DataGetTime >= %s and BT_DataGetTime <= %s',
[QuotedStr(edBeginTime.Text), QuotedStr(edStopTime.Text)]); condition := condition + ' and BT_CarID in ('; for i := 0 to DBGrid1.SelectedRows.Count-2 do
begin //tmpDS = DBGrid1.DataSource.Dataset
tmpDS.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
condition := condition + QuotedStr(tmpDS.FieldValues['车牌号码'])+', ';
end;
tmpDS.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
condition := condition + QuotedStr(tmpDS.FieldValues['车牌号码'])+')'; dtmSystem.Table.Filter := condition;
dtmSystem.Table.Filtered := true;
执行到这句,报错:参数类型不正确 或不在可以接受的范围之内 或与其他参数冲突我用断点停了程序,看到Filter字符串设置正确了:
'BT_DataGetTime >= '2005-5-30 11:26:25' and BT_DataGetTime <= '2005-5-30 12:26:25' and BT_CarID in ('g123', 'g3432')'同样的串我在SQL查询分析器中执行是可以返回行的,为什么在这里不行呢?!
condition := Format('BT_DataGetTime >= %s and BT_DataGetTime <= %s',
[QuotedStr(edBeginTime.Text), QuotedStr(edStopTime.Text)]); condition := condition + ' and BT_CarID in ('; for i := 0 to DBGrid1.SelectedRows.Count-2 do
begin //tmpDS = DBGrid1.DataSource.Dataset
tmpDS.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
condition := condition + QuotedStr(tmpDS.FieldValues['车牌号码'])+', ';
end;
tmpDS.GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
condition := condition + QuotedStr(tmpDS.FieldValues['车牌号码'])+')'; dtmSystem.Table.Filter := condition;
dtmSystem.Table.Filtered := true;
执行到这句,报错:参数类型不正确 或不在可以接受的范围之内 或与其他参数冲突我用断点停了程序,看到Filter字符串设置正确了:
'BT_DataGetTime >= '2005-5-30 11:26:25' and BT_DataGetTime <= '2005-5-30 12:26:25' and BT_CarID in ('g123', 'g3432')'同样的串我在SQL查询分析器中执行是可以返回行的,为什么在这里不行呢?!
解决方案 »
- Virtual tree view 怎样获取指定level和index下的节点?
- ComboBox输入
- 我都要疯了,三层,客户端clientdataset+dbgrid, 在编辑dbgrid时,修改记录后,老出现:“Trying to modify read-only field”
- Delphi中数据库连接语句
- 如何捆绑第3方插件?
- forgot的散分帖:网络编程与分布式开发不是我所长,来跟大家学习交流的。散分!
- pascal中的关于指针的一个问题
- (类的问题)大侠们,能不能给我讲讲下面这个简单的程序为什么有错?
- 大侠,帮帮忙?
- 2000元买delphi编的彩票选号系统源码(最好粒数可定义),mailto:[email protected]
- 关于在两个DLL中用同一个控件冲突的问题?
- 成树后,让节点内容自动编码的实现,烦了我一个礼拜了,解决送高分
[QuotedStr(edBeginTime.Text), QuotedStr(edStopTime.Text)]);