我用dbExpress中的SimpleDataSet组件,其中的dataset中的commandtext为‘select * from hyjbxx where gkxm like :m_gkxm’其中参数:m_gkxm为ftString类型,并且定义初试值为%.按理说这个Dataset初始应该是全部记录都显示出来,可是初始的时候一条记录也没有,当在程序中改变这个参数的值时一切正常,如'%王%','%张%'等都能查询出来,模糊查找正确,一旦此参数为%或者为%%,就没有记录了,这是怎么回事?
调试欢乐多
parameteres.parambyname(m_gkxm).value:='%';
没有问题的呀 就是显示所有的结果的呀
parameteres.parambyname(m_gkxm).value:='%'+Edit1.text+'%';
那么姓名是2个字的记录就出来了,如果:='%%%%%%'
那么姓名是3个字的记录就出来了,
看来%这个通配符的意义在sql中成了'_'不解ing请问楼上大侠,如何debug,看sql的语句?
你在查询分析器里试试,select * from hyjbxx where gkxm like '%'
--------------------------------------------------------------------
看尽悲伤,庸人自扰不平事。叹尽荒凉,海阔天空谁人知。狂风劲兮,百花飘
扬乱舞香。捏花一笑,海不扬波断肠心!
你不妨试试:
sqldataset1.Params[0].DataType:=string;
sqldataset1.Params[0].Value:='1'
仍然不得其解