语句如下:
AdoQuery1.SQL.Add('Select 图书编号,书名,作者,类名,出版社,定价 From 图书信息 A,图书类别 B');
AdoQuery1.SQL.Add('Where (A.书名 Like :书名) and A.类别=B.类别');
AdoQuery1.Parameters.ParamByName('书名').Value:='%'+Edit1.Text+'%';
其中数据库中有书名为:‘sds’,和‘ABC’的书。当在Delphi6下运行我做的程序时,输入‘s’,能够查到
纪录‘sds’,而输入‘A’时却没有纪录,是何原因?但是在查询分析器内可以正常。
AdoQuery1.SQL.Add('Select 图书编号,书名,作者,类名,出版社,定价 From 图书信息 A,图书类别 B');
AdoQuery1.SQL.Add('Where (A.书名 Like :书名) and A.类别=B.类别');
AdoQuery1.Parameters.ParamByName('书名').Value:='%'+Edit1.Text+'%';
其中数据库中有书名为:‘sds’,和‘ABC’的书。当在Delphi6下运行我做的程序时,输入‘s’,能够查到
纪录‘sds’,而输入‘A’时却没有纪录,是何原因?但是在查询分析器内可以正常。
SqlParam:=SqlParam+' and Region like ''%'+EdtRegion.Text+'%''';
我想你可能需要检查一下 书名为 'ABC' 的那条记录的类别在 图书类别 表 中是否有相同类别的记录存. :)
是不是符合Where A.类别=B.类别条件的数据集中没有ABC这条记录??(2)Edit1.Text中输入ABC之前有空格?? Trim(Edit1.Text).
我想你可能需要检查一下 书名为 'ABC' 的那条记录的类别在 图书类别 表 中是否有相同类别的记录存. :)
---------------------------------------------
同意,你的A.类别=B.类别是什么意思?你的表的结构是怎么定义的?以及你要实现的功能是什么?
用事件探查器看看ADO提交到SQLSERVER的SQL语句,其中的参数是否被截断了
ACCESS好象没有查询分析器吧?
ACCESS好象没有查询分析器吧?////////////////////////////笑话!
ACCESS好象没有查询分析器吧?////////////////////////////笑话!-----------------------------------
据我所知,ACCESS只有一个查询设计器,SQL SERVER倒是有个查询分析器,难道我用的OFFICE 2003不够新?您用的ACCESS2005或者更高版本?还带了个查询分析器?请指教...
感觉还是sql的问题,应该是那儿写错了..