gpt4 book ai didi

asp.net - 从绑定(bind)控件执行存储过程时出现“空或空全文谓词”

转载 作者:行者123 更新时间:2023-12-02 12:54:21 25 4
gpt4 key购买 nike

我的 ASP.Net 应用程序中有一个页面,用于通过存储过程搜索数据库。传递给存储的生成器的参数之一通过 ControlParameter 绑定(bind)绑定(bind)到文本框。

<asp:ControlParameter Name="EventDescription" Type="String" ControlID="ucTestLogSearch" PropertyName="EventDescription" />

文本被传递到 SQL Server 存储过程。存储过程定义参数如下:

@event_descrip VARCHAR(200) = NULL,

它在 WHERE 条件中使用参数,如下所示:

(CONTAINS (le.event_descrip, @event_descrip) OR @event_descrip IS NULL)

我的问题是,如果文本框为空,我会收到以下异常:“空或空全文谓词”

根据我的经验,在 WHERE 子句中检查 null 应该足以防止此错误。

此外,在测试数据库服务器上运行时出现异常,但在开发服务器上运行时却没有出现异常。据我所知,服务器正在运行相同版本的 SQL Server。唯一的区别是测试服务器是集群式的,而开发服务器不是集群式的。

任何人都可以解释为什么我会收到此错误,为什么它发生在一台服务器而不是另一台服务器上,或者我如何解决它?

最佳答案

在选择查询之前声明以下语句:

IF ISNULL(@event_descrip,'') = '' SET @event_descrip = '""'; 

关于asp.net - 从绑定(bind)控件执行存储过程时出现“空或空全文谓词”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3719099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com