CREATE TABLE [dbo].[upload] (
[docid] INT IDENTITY (1, 1) NOT NULL,
[clientid] INT NULL,
[clientname] NVARCHAR (15) NULL,
[employeeid] INT NULL,
[empcitizenid] INT NULL,
[employeename] NVARCHAR (15) NULL,
[nationality] NVARCHAR (20) NULL,
[filepath] NVARCHAR (MAX) NULL,
[filename] NVARCHAR (100) NULL)
在我看来,有3个文本框接受clientd,employeeid,empcitizenid和一个搜索按钮。当文本框数据与下面的数据库匹配时,我想将数据绑定到web网格。 现在搜索有6种情况。 1.如果所有三个文本框都包含有效数据,则成功 2.如果其中一个包含有效数据,则保持为空,然后也成功 3.all all包含无效数据然后无效。 4.如果两个文本框中的任何一个包含有效数据,那么这样的成功有很多场景。在所有场景中实现此目的的最佳方法是什么 ?
答案 0 :(得分:0)
简单回答是为每个输入执行empty check
或like
,然后and
将它们全部放在原因中。
WHERE
(RTRIM(LTRIM(ISNULL(@FIELD1,''))) = '' OR [Column1] LIKE '%' + @FIELD1 +'%')
AND (RTRIM(LTRIM(ISNULL(@FIELD2,''))) = '' OR [Column2] LIKE '%' + @FIELD2 +'%')
...由于您使用的是ADO.Net,请确保使用SqlParameters来阻止SQL注入。