ALTER procedure ArticleSearch
@CategoryID int=-1 OUTPUT, --类别编号
@KeyWord nvarchar(50) = '' OUTPUT , --关键词
@Auditing int = -1 OUTPUT , --审核状态
@StartDate datetime OUTPUT, --起始日期
@EndDate datetime OUTPUT --结止日期
as
declare @SQL nvarchar(500) --SQL语句
set @SQL='select ArticleID,CategoryID,AdminID,[Title],Hit,Auditing,PostTime from Article where [Title] like ''%'+@KeyWord+'%'''
declare @Where nvarchar(100) --where条件
set @Where = ''
if(@CategoryID<>-1)
begin
set @Where = ' and CategoryID='+cast(@CategoryID as varchar)
end
declare @where1 nvarchar(100)
set @where1=''
if(@Auditing<>-1)
begin
set @where1='and Auditing='+cast(@Auditing as varchar)
end
declare @where2 nvarchar(100)
begin
set @where2='and PostTime between '''+cast(@StartDate as varchar)+''' and '''+cast(@EndDate as varchar)+''''
end
set @SQL =@SQL+@Where+@where1+@where2在ASP.net调用时没反应
用DATATABLE不显现有行,
@CategoryID int=-1 OUTPUT, --类别编号
@KeyWord nvarchar(50) = '' OUTPUT , --关键词
@Auditing int = -1 OUTPUT , --审核状态
@StartDate datetime OUTPUT, --起始日期
@EndDate datetime OUTPUT --结止日期
as
declare @SQL nvarchar(500) --SQL语句
set @SQL='select ArticleID,CategoryID,AdminID,[Title],Hit,Auditing,PostTime from Article where [Title] like ''%'+@KeyWord+'%'''
declare @Where nvarchar(100) --where条件
set @Where = ''
if(@CategoryID<>-1)
begin
set @Where = ' and CategoryID='+cast(@CategoryID as varchar)
end
declare @where1 nvarchar(100)
set @where1=''
if(@Auditing<>-1)
begin
set @where1='and Auditing='+cast(@Auditing as varchar)
end
declare @where2 nvarchar(100)
begin
set @where2='and PostTime between '''+cast(@StartDate as varchar)+''' and '''+cast(@EndDate as varchar)+''''
end
set @SQL =@SQL+@Where+@where1+@where2在ASP.net调用时没反应
用DATATABLE不显现有行,
解决方案 »
- 请问在asp.net中怎么实现每次加载时表格内容的顺序是不同的?
- FCKEditor 2.6.6文字围绕图片 IE6、7下不兼容
- 如何将null值插入数据库中?
- 大家说说看,接下来百度会不会和搜狐或是YAHOO与搜狐或是网易合作呢?
- 一个XML的基础问题(读,写,修改,删除)
- asp.net怎么知道用户已经关闭了浏览器,包括各种不正常的退出
- 一个关于网站登录的问题(100分相赠)
- ASP.net在后台获取FileUpload上传后的Flash文件的宽高??我的问题最牛逼,你们说是不!
- 如何在asp.net页面里动态添加dropdownlist?
- 我想在 Response.Redirect("abc.aspx") 后,继续执行这行下面的语句,有什么办法解决呢???
- IE6 png透明问题
- 怎么通过反射机制反射出源码?
begin
set @where1='and Auditing='+cast(@Auditing as varchar)
end
declare @where2 nvarchar(100)
begin
set @where2='and PostTime between '''+cast(@StartDate as varchar)+''' and '''+cast(@EndDate as varchar)+'''' and前一定要加空格
set @where1=' and Auditing='+cast(@Auditing as varchar)
set @where2=' and PostTime between 另外想知道错哪里了,你可以这样
set @SQL =@SQL+@Where+@where1+@where2
print @SQL
然后在查询分析器里执行以下,看打印出来的sql,复制出来,运行,就知道错在哪了
if(@CategoryID <>'')
begin
set @Sql=@Sql+' and CategoryID='''+cast(@CategoryID as varchar)+''''
endprint @SQL
看看
就是在ASP.net 中运行,就没反应,我在ASP.net打断点跟踪,到红字有下滑线哪行,dt.Rows的Count
数是0
请高高手指点一下 public static List<Articleinfo> ArticleSosuo(int CategoryID, string KeyWord, int Auditing, DateTime StartDate, DateTime EndDate)
{
List<Articleinfo> list = new List<Articleinfo>();
string str = "ArticleSearch";
SqlParameter[] sp = new SqlParameter[5];
sp[0] = new SqlParameter("@CategoryID", CategoryID);
sp[1] = new SqlParameter("@KeyWord", KeyWord);
sp[2] = new SqlParameter("@Auditing", Auditing);
sp[3] = new SqlParameter("@StartDate", StartDate);
sp[4] = new SqlParameter("@EndDate", EndDate);
DataTable dt = SqlHelper.ExecuteDataTable(str, CommandType.StoredProcedure, sp);
foreach (DataRow dr in dt.Rows) {
Articleinfo at = new Articleinfo();
at.ArticleID =Convert .ToInt32( dr[0].ToString());
at.CategoryID =Convert .ToInt32( dr[1].ToString());
at.AdminID =Convert.ToInt32( dr[2].ToString());
at.Title = dr[3].ToString();
at.Hit = Convert.ToInt32(dr[4]);
at.Auditing = Convert.ToBoolean(dr[5]);
at.PostTime = Convert.ToDateTime(dr[6]);
list.Add(at);
}
ALTER procedure ArticleSearch
@CategoryID int=-1 OUTPUT, --类别编号
@KeyWord nvarchar(50) = '' OUTPUT , --关键词
@Auditing int = -1 OUTPUT , --审核状态
@StartDate datetime OUTPUT, --起始日期
@EndDate datetime OUTPUT --结止日期
as
declare @SQL nvarchar(500) --SQL语句
set @SQL='select ArticleID,CategoryID,AdminID,[Title],Hit,Auditing,PostTime from Article where [Title] like ''%'+@KeyWord+'%'''
declare @Where nvarchar(100) --where条件
set @Where = ''
if(@CategoryID <>-1)
begin
set @Where = ' and CategoryID='+cast(@CategoryID as varchar)
end
declare @where1 nvarchar(100)
set @where1=''
if(@Auditing <>-1)
begin
set @where1='and Auditing='+cast(@Auditing as varchar)
end
declare @where2 nvarchar(100)
begin
set @where2='and PostTime between '''+cast(@StartDate as varchar)+''' and '''+cast(@EndDate as varchar)+''''
end
set @SQL =@SQL+@Where+@where1+@where2 exec(@sql)--有这个没有?
go