请问关于组合查询的问题

poisonb 2006-07-11 11:53:49
请教各位

比如说程序中需要组合查询某表中的数据,大家是怎么做的呢?
我现在用的是组合一个SQL语句来执行

有没有别的比较好的做法呢?
...全文
231 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
poisonb 2006-08-03
  • 打赏
  • 举报
回复
每人给答案了?
算了
poisonb 2006-07-13
  • 打赏
  • 举报
回复
没有别的办法了?

听说有可ORM,不知道拿来干啥的
jackiecheng001 2006-07-11
  • 打赏
  • 举报
回复
study
liangpei2008 2006-07-11
  • 打赏
  • 举报
回复
--用存储过程
Create PROC p_test
@para1 varchar(10)=null,
@para2 varchar(10)=null,
@para3 varchar(10)=null,
@para4 varchar(10)=null,
@para5 varchar(10)=null
AS
SET NOCOUNT ON
DECLARE @sql varchar(8000)
SET @sql='SELECT * FROM V_TagName WHERE 1=1'
IF @para1 IS NOT NULL
SET @sql=@sql+' AND BelongJZ='''+@para1+''''
IF @para2 IS NOT NULL
SET @sql=@sql+' AND TagName='''+@para2+''''
IF @para3 IS NOT NULL
SET @sql=@sql+' AND Type='''+@para3+''''
IF @para4 IS NOT NULL
SET @sql=@sql+' AND Desc='''+@para4+''''
IF @para5 IS NOT NULL
SET @sql=@sql+' AND BeLongGraph='''+@para3+''''
EXEC(@sql)
GO
Exec P_Test '一号机组',null,null,null,null
---
在程序中调用存储过程就可以了!
子陌红尘 2006-07-11
  • 打赏
  • 举报
回复
比较常用的方法:拼动态SQL字符串,然后提交给EXECUTE执行。
fcuandy 2006-07-11
  • 打赏
  • 举报
回复
除了组合SQL语句还有什么好方法?
难道你想分级子查询?
fcuandy 2006-07-11
  • 打赏
  • 举报
回复
xiaoqhuang(成长中的菜鸟)
------------------------------------------
public DataSet SelectTb(string str1,string str2,string str3)
{
string sql = "select * from tb where 1=1";
if(str1!="")
{
sql +=" and col1=@str1";//不用参数就直接写 "and col1 = '"+str1+"'
}
if(str2!="")
{
sql += " and col2=@str2";
}
.....
//然后给参数赋值、执行SQL语句
}
--------------------------------------------

典型的用过程化的思想去做.net程序。
marco08 2006-07-11
  • 打赏
  • 举报
回复
学习...
xiaoqhuang 2006-07-11
  • 打赏
  • 举报
回复
C#程序里

public DataSet SelectTb(string str1,string str2,string str3)
{
string sql = "select * from tb where 1=1";
if(str1!="")
{
sql +=" and col1=@str1";//不用参数就直接写 "and col1 = '"+str1+"'
}
if(str2!="")
{
sql += " and col2=@str2";
}
.....
然后给参数赋值、执行SQL语句
}
yangys 2006-07-11
  • 打赏
  • 举报
回复
where
(@id is null or id=@id) and
(@name is null or name=@name)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧