Sqlite 如何按地址获取记录

Sqlite 如何按地址获取记录,sqlite,Sqlite,如何按地址选择客户记录 var allUsers = db.Query<Customer>("Select * From Customer Where lower(CompanyName) =?" + " AND lower(Address) like ?", Class1.Company.ToLower() , txtAddr.Text.ToLower() + "%"); Example: Address : 123, Berry Road, ontario 如果我使用上面的

如何按地址选择客户记录

var allUsers = db.Query<Customer>("Select * From Customer Where lower(CompanyName) =?" + " AND lower(Address) like ?",  Class1.Company.ToLower() , txtAddr.Text.ToLower() + "%");

Example:
Address : 123, Berry Road, ontario
如果我使用上面的select语句并在文本框Addr中键入berry,搜索将返回0

使用lower是否正确?

试试以下方法:

var allUsers = db.Query<Customer>("Select * From Customer Where lower(CompanyName) =?" + " AND lower(Address) like ?",  Class1.Company.ToLower() , "%" +txtAddr.Text.ToLower() + "%");
您将得到像“%berry%”这样的低层服饰,而不是像“berry%”这样的低层服饰


以下是。

%word%将与包含以下内容的地址匹配:、逗号、、数字、邮政编码和其他。1000条客户记录是否会降低select语句的速度?还有哪些字符或符号不适用于此Select语句?我真的无法理解您的顾虑是什么?1如果希望返回示例数据,“berry%”只能返回带有berry开头的地址。2如果您担心1000名客户的速度会减慢,可以在查询结束时添加限制1。3如果第一个条件lowerCompanyName=?如果失败,则不会返回任何内容。建议您使用答案中提供的SQLFIDLE demo测试这些条件。如果您还有其他问题,请更新输入数据和查询。您的解决方案有效。我只想确认当使用%berry%匹配包含逗号和其他非法字符的地址字符串时,这是否会导致任何问题。假设与安大略省003号贝里大道123号的%berry%匹配。谢谢