c# - 使用多个文本框搜索数据库 Asp.net
问题描述
我有一个使用文本框从数据库中提取数据的存储过程。但是,我添加了另一个文本框,它也可以为他们提供另一个选项来提取相同的数据。用户可以使用身份证号或地址进行搜索。但是假设我在 id 文本框中输入数据并将地址文本框留空,它会拉出所有记录;不是基于输入的身份证号码的记录;但是,如果我将 id 文本框留空并输入地址文本框,它将返回所需的一条记录。
存储过程
select id, name, age, address, telephone where
WHERE id= @id
OR ISNULL(@id, '') = '' and address= @address
OR ISNULL(@address, '') = ''
解决方案
你需要括号:
SELECT id, name, age, address, telephone
WHERE ( ISNULL(@id, '') = '' AND ISNULL(@address, '') = '' )
OR ( ISNULL(@id, '') = '' AND address = @address )
OR ( ISNULL(@address, '') = '' AND id = @id )
OR ( id = @id AND address = @address )
推荐阅读
- rabbitmq - 什么时候从队列中删除消息?
- html - 将 LocalStorage 数据动态解析成一张表
- python - pywinAuto - 使用 Windows MFC 控件
- actions-on-google - Google 助理可以访问网络帖子上的音频吗
- php - PHP SQL Server连接工作或不工作
- reactjs - 改进对 React 的错误处理 | 还原 | MERN 应用程序
- html - XSLT:如何避免在 HTML 的属性中添加自闭合标签
- c - 从函数返回多个错误之一并在 C 中结束程序的最佳实践是什么?
- ios - 等到应用内购买完成,直到执行操作
- css - 从底部绝对定位不创建溢出滚动条