B
basin
Unregistered / Unconfirmed
GUEST, unregistred user!
我用一面的模糊查询却常常漏记录或者查询不到, 不知是什么原因,请告知.
是不是DELPHI自身的问题,还是数据库的问题(我用的是ACCEESS)?
procedure TFindCustomerForm.Button1Click(Sender: TObject);
var sqla,sqlb,sqlc,sqld,sql : string ;
begin
sqla := edit1.Text; // 客户编号
sqlb := edit2.Text; // 客户名称
sqlc := edit3.Text; // 客户电话
sqld := edit4.Text; // 客户地址
//模糊查询语句
sql := 'SELECT 自动编号 , 客户编号 , 客户名称 , 客户电话 , 客户地址 , 所属地区 , 注册日期 , 备注 ';
sql := sql + 'FROM 客户资料 ';
sql := sql + ' WHERE 客户编号 LIKE '+ QuotedStr('%' + trim(sqla) +'%')+ ' AND 客户名称 LIKE ' + QuotedStr('%' + trim(sqlb) +'%')+ ' AND 客户电话 LIKE ' + QuotedStr('%' + trim(sqlc) +'%')+ ' AND 客户地址 LIKE ' + QuotedStr('%' + trim(sqld) +'%');
//执行查询
CustomerForm.ADOQueryCustomerData.Close;
CustomerForm.ADOQueryCustomerData.SQL.Clear;
CustomerForm.ADOQueryCustomerData.SQL.Add(sql);
try
CustomerForm.ADOQueryCustomerData.Open;
except
Raise Exception.create('No records Matched your choices');
end;
end;
是不是DELPHI自身的问题,还是数据库的问题(我用的是ACCEESS)?
procedure TFindCustomerForm.Button1Click(Sender: TObject);
var sqla,sqlb,sqlc,sqld,sql : string ;
begin
sqla := edit1.Text; // 客户编号
sqlb := edit2.Text; // 客户名称
sqlc := edit3.Text; // 客户电话
sqld := edit4.Text; // 客户地址
//模糊查询语句
sql := 'SELECT 自动编号 , 客户编号 , 客户名称 , 客户电话 , 客户地址 , 所属地区 , 注册日期 , 备注 ';
sql := sql + 'FROM 客户资料 ';
sql := sql + ' WHERE 客户编号 LIKE '+ QuotedStr('%' + trim(sqla) +'%')+ ' AND 客户名称 LIKE ' + QuotedStr('%' + trim(sqlb) +'%')+ ' AND 客户电话 LIKE ' + QuotedStr('%' + trim(sqlc) +'%')+ ' AND 客户地址 LIKE ' + QuotedStr('%' + trim(sqld) +'%');
//执行查询
CustomerForm.ADOQueryCustomerData.Close;
CustomerForm.ADOQueryCustomerData.SQL.Clear;
CustomerForm.ADOQueryCustomerData.SQL.Add(sql);
try
CustomerForm.ADOQueryCustomerData.Open;
except
Raise Exception.create('No records Matched your choices');
end;
end;