选择Statement DrillDown

时间:2013-01-15 07:35:46

标签: .net vb.net linq tsql

我有一个像这样的Select Statement ..

Select * From A Join B on A.ID = B.ID
 And A.Gener = 'M'
 And A.Age = 21
 And B.School = 'Bluh'   
--- many more AND Clauses

现在这些“AND”子句是动态的,它们将根据我的vb.net Web应用程序中的用户选择进行构建....

例如......

if gener.text <> "" Then
   qry = qry & " And A.Gender='M'"

我真的不想像这样在运行中构建我的SQL查询。有没有办法更好地使用LINQ或其他东西?

我的实际SQL查询最多包含30个动态AND(基于用户选择)。

请告知。

由于

2 个答案:

答案 0 :(得分:1)

用于每个陈述:

  

qry = qry&amp; “和(A.Gender ='”&amp; gender.Text&amp;“'OR'”&amp; gender.Text   &安培; “'='')”

答案 1 :(得分:0)

我会这样改变

Select * From A Join B on A.ID = B.ID
 And (A.Gener = @arg1 or @arg1 is null)
 And (A.Age = @arg2 or @arg2 is null)
 And (B.School = @arg3 or @arg3 is null)

---更多AND Clausesju

这种方式如果你将空值传递给程序,它们将被逻辑忽略 - 不知道它是否适用于你的情况

defoply构建动态tsql查询应用程序端是sql注入的邀请