首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqldatasource问题

sqldatasource问题
EN

Stack Overflow用户
提问于 2009-08-24 16:41:57
回答 2查看 476关注 0票数 0

我有一个在sqlDataSource控件(向导测试按钮)中测试它的查询,但是当我运行页面时,它不能工作。我确保gridview有正确的sqlDataSource控件作为其源。快把我逼疯了。

其他人也发生过这种事吗?

编辑:

它与where子句(它是一个oracle数据库)中的一行有关。

代码语言:javascript
复制
Where    (upper(AA.Email_Address)=UPPER(:Email_Address) OR :Email_Address IS NULL) AND 
 (upper(AA.Display_Name) Like  UPPER('%' || :Display_Name || '%')   OR :Display_Name IS NULL)

该页面单独处理每个搜索子句,但当它们同时存在时则不起作用(它在sqlDataSource向导测试中对两个参数都有效,但在页面运行时不起作用)

=====================================================================================

编辑:

感谢您的查询建议,它看起来确实更干净。

我确实将默认的CancelSelectOnNullParameter属性设置为"true“。当我将其更改为false时,页面将不会显示。我收到这条消息

“服务器应用程序不可用--您试图在此web服务器上访问的web应用程序当前不可用。请按web浏览器中的”刷新“按钮重新尝试您的请求。管理员注意:可以在web服务器的应用程序事件日志中找到详细说明此特定请求失败原因的错误消息。请查看此日志条目,以发现导致此错误的原因。”

================================

这是一个查询,除了我运行页面时是有效的。

代码语言:javascript
复制
SELECT * 
FROM a Left Join b on b.institution_code=a.institution_code
WHERE 
      (upper(a.Login_Name)=UPPER('%' || :Login_Name || '%') OR :Login_Name IS NULL)
  AND (upper(a.Display_Name) Like  UPPER('%' || :Display_Name || '%')   OR :Display_Name IS NULL) 
  AND (upper(a.Email_Address)=UPPER(:Email_Address) OR :Email_Address IS NULL) 
  AND ((a.institution_code=:institution_code) OR :institution_code IS NULL)  
  AND (upper(b.institution_desc) Like  UPPER('%' || :institution_desc || '%')   OR :institution_desc IS NULL
EN

回答 2

Stack Overflow用户

发布于 2009-08-24 16:49:00

首先,最好这样编写查询,以便从where子句中删除'OR's:

代码语言:javascript
复制
WHERE
        Upper(AA.Email_Address)  =  Upper(COALESCE(:Email_Address,AA.Email_Address))
    AND Upper(AA.Display_Name) LIKE Upper('%' || COALESCE(:Display_Name,AA.Display_Name) || '%')

至于您的具体问题,您可能遇到了CancelSelectOnNullParameter属性。把它设为“假”,你就会没事的。

票数 0
EN

Stack Overflow用户

发布于 2009-08-24 16:52:40

您是否设置了数据源的正确ProviderName属性?

试着设置

代码语言:javascript
复制
Provider="System.Data.OracleClient"

属性在SqlDataSource标记中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1323463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档