.net 如何将非特定于列的参数添加到C#表适配器?

.net 如何将非特定于列的参数添加到C#表适配器?,.net,dataset,tableadapter,.net,Dataset,Tableadapter,我第一次使用TableAdapter并向其中添加了一个自定义查询,我一直在向查询添加一些搜索参数,下面是我得到的: SELECT * FROM Orders WHERE (id_order = @id_order) OR (IsFor LIKE '%@word1%') OR (IsFor LIKE '%@word2%') OR (IsFrom LIKE '%@word1%') OR (IsFrom LIKE '%@wor

我第一次使用TableAdapter并向其中添加了一个自定义查询,我一直在向查询添加一些搜索参数,下面是我得到的:

SELECT  *
FROM    Orders
WHERE   (id_order = @id_order) OR
        (IsFor LIKE '%@word1%') OR
        (IsFor LIKE '%@word2%') OR
        (IsFrom LIKE '%@word1%') OR
        (IsFrom LIKE '%@word2%') 
当我测试执行查询时,系统会提示我输入id_顺序,但不会输入word1或word2。我还尝试将这些作为参数直接添加到适配器中,并将它们传入,但它们不起作用。奇怪的是,id_顺序仍然有效,但其他值不会生成任何匹配项

我的目标是允许用户输入first&/或last name,并使其与具有该first&/或last name的任何订单匹配


你知道我做错了什么吗?

你不需要引号或百分号

SELECT  *
FROM    Orders
WHERE   (id_order = @id_order) OR
    (IsFor LIKE @word1) OR
    (IsFor LIKE @word2) OR
    (IsFrom LIKE @word1) OR
    (IsFrom LIKE @word2)

这绝对是一半。我仍然需要%符号来进行部分匹配,但是我没有将它们嵌入到查询中,而是直接将它们添加到参数中,瞧,成功了。谢谢我的错。我以为%已经存在了。如果要将它们添加到查询中,请执行IsFor,例如“%”++@word1++'%