我有10个文本框..按条件查询.
然后有一个方法把这些条件传入SQL语句进行查询,用户在文本框输入任何一个查询条件,我就要查询一次!!不填则全查出来这样我要写好多查询语句。有没有精炼的查询办法。。最好能写给偶看下。谢谢
数据库是SQL2005
然后有一个方法把这些条件传入SQL语句进行查询,用户在文本框输入任何一个查询条件,我就要查询一次!!不填则全查出来这样我要写好多查询语句。有没有精炼的查询办法。。最好能写给偶看下。谢谢
数据库是SQL2005
if(a 有值)
{
a字段='值'
}
...拼接成一条语句,不过要考虑完全性方面的问题。替换一些关键字(如单引号等),最好就是用参数数组的形式。
DECLARE @VSQL VARCHAR(6000),
@TJ1 VARCHAR(100),
TJ2 VARCHAR(100),
SET @VSQL = 'SELECT COL1,COL2 FROM TNAME WHERE COL1 LIKE '''+'%'+'''+@TJ1+''' AND
COL2 LIKE '''+'%'+'''+@TJ2+''' EXEC(VSQL)
有个个好方法 ,语句这样写select *from tb where
col1 like textbox1.text and
col2 like textbox2.text and
col3 like textbox3.text and
col4 like textbox4.text and
col5 like textbox5.text 在判断textbox若是空的话,则赋予textbox为'%'
@mhxx --模糊消息
where col1 like '%'+ @mhxx +'%' or
col2 like '%'+ @mhxx +'%' or
col3 like '%'+ @mhxx +'%' ………………
int n=str.IndexOf("where");
if(txtID.text!="")
{
if(n==-1)str.Append("where id=txtID.text ");
else str.Append("adn id=txtID.text ");
}
if(txtNumber.text!="")
{
if(n==-1)str.Append("where number=txtNumber.text ");
else str.Append("and number=txtNumber.text ");
}
……