如何使用以下属性找到用户如果用户没有任何ID
性
请记住用户在输入时可能会出错 :(
请分享您的想法......
答案 0 :(得分:1)
不要这样做。如果您只想以这种方式使用,请在SQL查询中使用 like 语法。如果您能提供有关问题的更多信息,我认为对所有人都会更有帮助。
答案 1 :(得分:1)
您从哪个数据库工作?如果涉及ORM,那么您可以简单地编写一个函数来搜索可能的情况。
答案 2 :(得分:1)
用户在输入时会犯错误...但在键入自己的姓名时却不会。
尝试以这种方式搜寻你的男人:
SELECT * FROM <your_table_name_here> WHERE name LIKE <name you are looking for>
如果你想过滤更多可以添加的主题
,这将返回具有该名称的所有行AND dateOfBirth LIKE <the day of birth>
到查询结尾
答案 3 :(得分:1)
这与用户界面设计一样是数据库设计的问题。但首先,您必须在数据库中拥有唯一的字段组合或唯一ID。在你的情况下,我可以看到两个选择。要求用户名是唯一的。如果你有两个约翰史密斯,那么其中一个必须采用一个统一者 - 约翰(大约翰)史密斯。或者你有一个id列。您永远不需要向用户显示id列,但您可能会发现它对您的实现很有用
现在对于UI:您在数据库中有大量记录,用户想要一个特定记录但只是部分知道匹配数据。您需要处理一些不确定性并与用户进行交互。
What do you know?
His name is Davdi and his father's name is Gordon
(search) We don't have anyone called Davdi
Oh I meant His name is David and his father's name is Gordon
OK, we've got 10 records that match that, which one do you want?
This one (user picks from list - behind the scenes we know the unique id)
现在,根据您使用的数据库,您可以更进一步。例如,用户可以使用通配符或正则表达式来指定它们的含义。
His name is Dav* (can't remember if it's Dave or David)
但是您使用的查询语言需要支持这些内容。有些数据库具有“听起来像”的能力。所以“刘易斯”会匹配“路易斯”和“刘易斯”甚至“娄”。如果您真的想要提供帮助,那么您可能需要这种能力。