标题:搜索----------存储过程
只看楼主
huangchao
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-6-13
 问题点数:0 回复次数:2 
搜索----------存储过程
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[news_search]
    (
    @keyword varchar(50),
    @publication_p varchar(50),
    @type varchar(50),
    @startDate varchar(50),
    @endDate varchar(50)
    )
as
    declare @SQLStr  nvarchar(200)
    set @SQLStr=N'select id,type,title,important,content,publication_p,onclick,comment,regtime,edittime,category from [dbo].[news] where  (CONVERT(char(10), edittime, 21) between '''+@startDate+''' and '''+@endDate+''')'
   
    if (@keyword <>'')
     set @SQLStr=@SQLStr+N' title like ''%'+@keyword+'%'''
   
    if (@publication_p <>'')
     set @SQLStr=@SQLStr+N' and title like ''%'+@publication_p+'%'''

    exec sp_executesql @SQLStr


执行的时候跳出如下错误:


“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

第 1 行: 'title' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: 'title' 附近有语法错误。

源错误:


行 219:            }
行 220:            con.Open();
行 221:            SqlDataReader retval = cmd.ExecuteReader(CommandBehavior.CloseConnection);
行 222:
行 223:            return retval;
 

源文件: E:\gongzuo\huoshan\2008-06-13\HS\HS.SQLServer\SQLHelper.cs    行: 221

堆栈跟踪:


[SqlException (0x80131904): 第 1 行: 'title' 附近有语法错误。]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857434
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735046
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
   System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
   System.Data.SqlClient.SqlDataReader.get_MetaData() +62
   System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
   System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
   System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
   System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +62
   HS.SQLServer.SQLHelper.ExecuteReader(String query, SqlParameter[] parameters) in E:\gongzuo\huoshan\2008-06-13\HS\HS.SQLServer\SQLHelper.cs:221
   HS.SQLServer.SQL_news.news_search1(String type, String title, String publication_p, String startDate, String endDate) in E:\gongzuo\huoshan\2008-06-13\HS\HS.SQLServer\SQL_news.cs:165
   HS.BLL.B_news.search_la(String type, String title, String publication_p, String startDate, String endDate) in E:\gongzuo\huoshan\2008-06-13\HS\HS.BLL\B_news.cs:48
   news_search_news.Page_Load(Object sender, EventArgs e) in e:\gongzuo\huoshan\2008-06-13\HS\web\news\search_news.aspx.cs:38
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +43
   System.Web.UI.Control.OnLoad(EventArgs e) +98
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4315

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; 版本:2.0.50727.42
搜索更多相关主题的帖子: 搜索 ONset IDENTIFIER CONVERT PROCEDURE 
2008-06-25 11:01
tomtory
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:705
专家分:0
注 册:2008-6-12
得分:0 
字段里面是不是存在了系统的关键字的哦!!把字段用[]括起来看看嘛 我没发现存储过程里面有错的哦 呵呵
2008-06-26 11:58
tomtory
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:705
专家分:0
注 册:2008-6-12
得分:0 
我知道的是id是系统的关键字
2008-06-26 12:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-221119-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.838782 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved