求助,.net问题
int   i=0; 
 if(str_name!= " "   ||   str_nrjj!= " "   ||   str_memo!= " "   ||   str_state!= " "   ||   str_jystate!= " ") 
                { 
 	str_tj= "where "; 
                            if(str_name!= " ") 
                            { 
 		i=1; 
 		str_tj=str_tj+ "name   like    '% "+str_name+ "% ' "; 
 	} 
 	if(str_press!= " ") 
 	{ 
 	                           if(i==1) 
 		str_tj=str_tj+ "and   press   like    '% "+str_press+ "% ' "; 
 	else 
 	{ 
 						str_tj=str_tj+ "press   like    '% "+str_press+ "% ' "; 
 	i=1; 
 	} 
 	} 
 	if(str_nrjj!= " ") 
 	{ 
 	if(i==1) 
 	str_tj=str_tj+ "and   nrjj   like    '% "+str_nrjj+ "% ' "; 
 	else 
 	{						str_tj=str_tj+ "nrjj   like    '% "+str_nrjj+ "% ' "; 
 	i=1; 
 	} 
 	} 
 	if(str_memo!= " ") 
 	{ 
 	if(i==1) 
 	str_tj=str_tj+ "and   memo   like    '% "+str_memo+ "% ' "; 
 	else 
 	{						str_tj=str_tj+ "memo   like    '% "+str_memo+ "% ' "; 
 	i=1; 
 	} 
 	} 
 	if(str_state!= " ") 
 	{ 
 	if(i==1) 
 	str_tj=str_tj+ "and   state=    '% "+str_state+ "% ' "; 
 	else 
 	{ 
 					str_tj=str_tj+    "state=    '% "+str_state+ "% ' "; 
 	i=1; 
 	} 
 	} 
 	if(str_jystate!= " ") 
 	{ 
 		if(i==1) 
 		str_tj=str_tj   +    "and   jystate=    '% "+str_jystate+ "% ' "; 
 	else 
 	{ 
 	str_tj=str_tj   +    "jystate=    '% "+str_jystate+ "% ' "; 
 	i=1; 
 	} 
 }			 
 } 
 	else 
 	str_tj= " "; 
 string   cnnstr= "Persist   Security                                    Info=false;userid=sa;password=;database=uds; "; 
 SqlConnection   cnn; 
 cnn   =   new   SqlConnection(cnnstr); 
 cnn.Open(); 
 	SqlCommand   cmd   =   new   SqlCommand( "Select   count(*)   as   nums   from   UDS_BOOK_INFO "   +str_tj,cnn);     
 好像是查询字符串出错,但是基础知识太差,不知怎么改正。请求帮助,谢谢了先~
------解决方案--------------------str_tj+ "name like  '% "+str_name+ "% ' ";   
 应该加个空格把   
 str_tj+ " name like  '% "+str_name+ "% ' ";     
 其他的地方类似
------解决方案--------------------每个双引号都留1个空格出来 
 否则就胡子连着眉毛了
------解决方案--------------------加空格,还有就是用Stringbuilder 不要用这种方式了,效率太差.
------解决方案--------------------同一楼,if...else里拼接语句前加空格,还有 
 SqlCommand cmd = new SqlCommand( "Select count(*) as nums from UDS_BOOK_INFO " +str_tj,cnn); 
 这里也要加 
 SqlCommand cmd = new SqlCommand( "Select count(*) as nums from UDS_BOOK_INFO  " +str_tj,cnn);   
 另外感觉楼主这样写else语句拼接之后会有问题,给其中几个变量赋值,另外几个留空,设断点看下最后的str_tj是什么样的,然后从这上面入手,修改代码   
------解决方案----------------