小编Sop*_*hia的帖子

在SQL Server中执行嵌套case语句逻辑的最佳方法

我正在编写一个SQL查询,其中返回的一些列需要根据很多条件进行计算.

我目前正在使用嵌套的case语句,但它变得凌乱.是否有更好的(更有组织和/或可读)的方式?

(我使用的是Microsoft SQL Server,2005)


一个简化的例子:

SELECT
    col1,
    col2,
    col3,
    CASE
        WHEN condition 
        THEN
            CASE
                WHEN condition1 
                THEN
                    CASE 
                        WHEN condition2
                        THEN calculation1
                        ELSE calculation2
                    END
                ELSE
                    CASE 
                        WHEN condition2
                        THEN calculation3
                        ELSE calculation4
                    END
            END
        ELSE 
            CASE 
                WHEN condition1 
                THEN 
                    CASE
                        WHEN condition2 
                        THEN calculation5
                        ELSE calculation6
                    END
                ELSE
                    CASE
                        WHEN condition2 
                        THEN calculation7
                        ELSE calculation8
                    END
            END            
    END AS 'calculatedcol1',
    col4,
    col5 -- etc
FROM table
Run Code Online (Sandbox Code Playgroud)

sql sql-server select nested sql-server-2005

170
推荐指数
7
解决办法
63万
查看次数

没有代码的ASP.net页面

我有一个后面有C#代码的ASP.Net页面.

但是,我被要求不使用代码 - 因此在SharePoint中部署更容易.

有没有办法在ASP.Net页面中包含C#代码,而不使用单独的代码隐藏文件?

.net c# asp.net sharepoint code-behind

62
推荐指数
5
解决办法
12万
查看次数

在没有行的情况下将表的可见性设置为false(在报告服务中)

如果表没有行,有没有办法将表的可见性设置为false?

我希望在Reporting Services中没有行时隐藏它.

在这种情况下,将NoRows设置为=""是不够的,因为表格仍留有空间,并且某些表格的格式仍然可见.

我正在使用Microsoft Visual Studio/SQL Reporting Services 2005

report reportingservices-2005 reporting-services

44
推荐指数
2
解决办法
9万
查看次数

如何在C#中获取当前用户的Active Directory详细信息

我正在使用一个使用Windows身份验证的C#和ASP.Net应用程序.

即在Web.config中:

<system.web>
    <authentication mode="Windows" />
</system.web>
Run Code Online (Sandbox Code Playgroud)

我想从Active Directory获取当前用户的详细信息(全名,电子邮件地址等).


我可以SOMEDOMAIN\someuser通过使用获得他们的Windows 2000用户登录名(例如:)

string username = HttpContext.Current.Request.ServerVariables["AUTH_USER"];
Run Code Online (Sandbox Code Playgroud)

我已经使用他们当前的登录名(而不是他们的Windows 2000用户登录名)为用户制定了LDAP查询:

DirectorySearcher adSearch = new DirectorySearcher(
        "(userprincipalname=someuser@somedomain.com.au)");
SearchResult adSearchResult = adSearch.FindOne();
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何使用他们的前W2K登录名为用户搜索AD,或者以'someuser@somedomain.com.au'格式获取他们的登录名.

有任何想法吗?

.net c# ldap active-directory windows-authentication

36
推荐指数
3
解决办法
13万
查看次数

SSRS报告表达中的评论

我在Reporting Services中使用了一些复杂的表达式来控制报表中数据的值,格式等(请参阅MSDN).

是否可以在这些表达式中插入代码注释,如果是,那么语法是什么?

通过代码注释我的意思是:

// single line comment
/* or multi line comment */
Run Code Online (Sandbox Code Playgroud)

sql-server reporting sql-server-2008 reporting-services ssrs-2008

20
推荐指数
1
解决办法
3万
查看次数

如何在C#中转义字符串,以便在LDAP查询中使用

我有一个LDAP查询,我用它来在C#中执行搜索.它使用两个字符串变量(用户名和域),出于安全原因需要对其进行转义.

我应该如何摆脱弦乐?C#.NET中是否有可用的功能来执行此操作?


示例LDAP搜索条件:

(objectCategory=person)
(userprincipalname=username@domain*)
(samaccountname=username)
Run Code Online (Sandbox Code Playgroud)

C#中的LDAP查询字符串示例:

string search = "(&(&(objectCategory=person)(userprincipalname=" 
        + username 
        + "@"
        + domain 
        + "*)(samaccountname=" 
        + username 
        + ")))";
Run Code Online (Sandbox Code Playgroud)

编辑:我已经有LDAP查询工作,并返回结果.我想要的只是逃避参数.

.net c# ldap active-directory ldap-query

15
推荐指数
2
解决办法
1万
查看次数

MySQL DELIMITER语法错误

此MySQL脚本安装多个触发器.

它适用于运行MySQL 5.0.51b-community的一台机器.在运行MySQL 14.12 Distrib 5.0.45的另一台机器上,对于redhat-linux-gnu(i386),它失败了,这个错误消息似乎与DELIMITER // ... // DELIMITER; 句法 :

第272行的错误1064(42000):SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'DELIMITER附近使用正确的语法; DROP TRIGGER IF EXISTS trigger_name; DELIMITER'在第1行

脚本语法(摘要)是:

DROP TRIGGER IF EXISTS trigger_name;
DELIMITER //
CREATE TRIGGER trigger_name BEFORE UPDATE ON table
FOR EACH ROW BEGIN
  -- Trigger logic goes here
END //
DELIMITER;

-- More trigger drop/create statements follow
Run Code Online (Sandbox Code Playgroud)

脚本有什么问题,我该如何纠正?

mysql sql triggers delimiter

15
推荐指数
1
解决办法
3万
查看次数

如何使用.NET从SSRS报告中获取数据源信息

我目前正在制作ASP.Net和C#页面,这是一些报告的前端.

我还想从与报告相同的数据源运行一些查询(每个报告只使用一个数据源).

是否可以使用ReportingService2005或ReportExecutionService成员从报表中提取数据源连接信息,以便可以在SqlConnection中重用它?

.net c# sql-server reporting-services

5
推荐指数
1
解决办法
9338
查看次数

上传失败一次,然后就可以正常工作了

我正在开发 ASP.Net 自定义控件。在我的控件中,我有一个 FileUpload 控件,位于 MultiView 内,位于 AJAX UpdatePanel 内。

我已将提交按钮添加到更新面板的回发触发器中。(这是让 FileUpload 在 UpdatePanel 中工作的标准修复)。

第一次提交时,FileUpload 不会上传任何内容(即控件的 FileBytes 属性的长度为零)。表单上的其他所有内容均已正确提交。

在第二次及后续提交时,上传工作正常。

什么可能导致此问题以及如何解决?


例如:

<asp:UpdatePanel runat="server" ID="update_panel" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:MultiView runat="server" ID="mvMultiView" ActiveViewIndex="0">
            <asp:View runat="server" ID="viewOne">
                <!-- content -->
            </asp:View>
            <asp:View runat="server" ID="viewTwo">
                <!-- some other form elements -->
                <asp:FileUpload ID="file_upload" runat="server" />
                <asp:Button ID="save_button" runat="server" Text="Save" OnClick="save_Click" ValidationGroup="group" />
            </asp:View>
         </asp:MultiView>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="save_button" />
    </Triggers>
</ajax:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

.net asp.net ajax updatepanel file-upload

5
推荐指数
1
解决办法
3204
查看次数

如何在ASP.Net和C#网页中将Reporting Services报表显示为内联PDF?

我需要在ASP.Net网页(使用C#服务器端脚本)中显示报告的预览.预览需要是PDF而不是HTML并以内联方式显示(可能在iframe中?).

是否可以指定呈现为PDF的报表的标题,因此其"内容处置"是内联而不是附件?

或者还有其他方法可以在ASP.Net网页中显示以PDF格式呈现的报表吗?


我正在使用Reporting Services 2008

在ASP.Net站点中,我使用的是对ReportService2005.asmx和ReportExecution2005.asmx的Web引用

.net c# asp.net reporting-services

3
推荐指数
1
解决办法
4110
查看次数