首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Select语句DrillDown

Select语句DrillDown
EN

Stack Overflow用户
提问于 2013-01-15 15:35:46
回答 2查看 88关注 0票数 0

我有一个像这样的Select语句..

代码语言:javascript
复制
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应用程序中的选择来构建……

例如..。

代码语言:javascript
复制
if gener.text <> "" Then
   qry = qry & " And A.Gender='M'"

我真的不想像这样快速构建我的SQL查询。有没有办法更好地使用LINQ或其他工具?

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

请给我建议。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-15 17:56:50

我会这样改变它

代码语言:javascript
复制
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)

-更多和Clausesju

这样,如果您将空值传递到过程中,它们将在逻辑上被忽略-不知道它在您的情况下是否有效

明确构建动态tsql查询应用端是对sql注入的邀请。

票数 0
EN

Stack Overflow用户

发布于 2013-01-15 15:41:20

Use for every语句:

qry = qry &“And (A.Gender='”& gender.Text & "‘OR '“& gender.Text &”’= '‘) "

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14333041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档