Nar*_*ges 0 sql visual-studio-2010 where-clause
我正在使用visual studio2010,与asp.net合作.我希望查询像示例一样工作,但我的工作不起作用!
我在数据库中有这些行:
Fullname=joe.address=earth,work=5656,home=23,mobile=55
Fullname=Michel.address=earth,work=5,home=2343,mobile=5435
Run Code Online (Sandbox Code Playgroud)
用户只需输入:
Fullname=joe ,address=earth
Run Code Online (Sandbox Code Playgroud)
该程序应该返回第一行.0是textBoxes的默认值.
SELECT fullName, address, work, home, mobile, registrationNo
FROM contacts
WHERE (fullName = @fullName OR fullName = '0')
AND (address = @address OR address = '0')
AND (work = @work OR work = '0')
AND (home = @home OR home = '0')
AND (mobile = @mobile OR mobile = '0')
Run Code Online (Sandbox Code Playgroud)
当我认为你要检查参数时,你正在检查列是否相等'0'
:
SELECT fullName, address, work, home, mobile, registrationNo
FROM contacts
WHERE (fullName = @fullName OR @fullName = '0')
AND (address = @address OR @address = '0')
AND (work = @work OR @work = '0')
AND (home = @home OR @home = '0')
AND (mobile = @mobile OR @mobile = '0')
Run Code Online (Sandbox Code Playgroud)
正如在评论中指出的那样,你真的应该使用NULL
缺少值 - 这是它存在于SQL中的主要原因- 并且还意味着你可以使用适当的数据类型(必要时),而不是总是将事物视为字符串.(但是,在这种情况下,一切看起来都是一个字符串).
归档时间: |
|
查看次数: |
160 次 |
最近记录: |