小编Cas*_*ian的帖子

交叉申请与UNPIVOT

我发现UNPIVOT能够自动排除具有NULL值的字段.但是,CROSS APPLY-VALUES方法无法做到这一点.有谁知道如何自动从CROSS APPLY-VALUES中排除NULL值字段?假设,如果字段Field3和Field4包含NULL值,则将其排除.

SELECT 
    E.FieldA, 
    E.FieldB, 
    E.FieldC, 
    DBParam.Display, 
    DBParam.Value
INTO DBParam
FROM
Map_Data AS E
CROSS APPLY (VALUES (Field1, 'Field1'),
            (Field2, 'Field2'), 
            (Field3, 'Field3'),
            (Field4, 'Field4')
) AS DBParam(Value, Display)
Run Code Online (Sandbox Code Playgroud)

sql sql-server unpivot cross-apply

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

实现 WPF MVVM 对话服务

我正在尝试实现“MVVM 推荐”方式,通过 DialogService 处理应用程序中的多个视图/窗口。但是,我在显示子视图后实现关闭父视图时遇到了困难。到目前为止,这是我的实现。WPF MVVM 处理这种情况的最佳策略是什么?

DialogService.cs(我尝试使其通用,以便它可以显示和关闭任何窗口)

public class DialogService : IDialogService
{
    /// <summary>
    /// Closes the specified window screen
    /// </summary>
    /// <param name="dialogWindow"></param>
    public void CloseDialog(Window dialogWindow)
    {
        if ( dialogWindow != null )
            dialogWindow.Close ( );       
    }

    /// <summary>
    /// Shows the specified window screen
    /// </summary>
    /// <param name="dialogWindow"></param>
    public void ShowDialog(Window dialogWindow)
    {
        if ( dialogWindow != null )
            dialogWindow.ShowDialog ( );
    }
}
Run Code Online (Sandbox Code Playgroud)

显示子视图的视图模型是SelectPackageViewModel.cs

public SelectPackageViewModel(IPackageDataService packageDataService, IDialogService dialogService)
{
    this.packageDataService = packageDataService; …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

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

使用CASE语句更新多行

这就是我想要做的.基本上我有一些故意在表格中留空Staging_X并且稍后要更新.我想使用以下case条件更新这些列.我想在存储过程中实现它.

UPDATE Staging_X 
   SET Staging_X.[NoMaterial]
      (SELECT (case 
                 when ((([Up]+[Test])+[Mon])+[Down_percentage])*(1.68)=(0) 
                 then (168) else [Lost]*(1.68) 
               end) 
         FROM Staging_X)
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures

0
推荐指数
1
解决办法
1337
查看次数

有什么方法可以进一步减少代码行数?

我正在寻找减少此函数的代码行数的方法.任何帮助表示赞赏!

private bool CanSubmitPackage ( object obj )
    {
        // ---- Checks if the package contains any files to be submitted ----
        if ( _selectedWorkspace.Package.Files != null )
        {
            if ( _selectedWorkspace.Package.Files.Count > 0 )
                if ( _selectedWorkspace.Package.Platform != null || _selectedWorkspace.Package.Platform != "" )
                    if ( _selectedWorkspace.Package.PackagePath != null || _selectedWorkspace.Package.PackagePath != "" )
                        if ( _selectedWorkspace.Package.PackageSize != null || _selectedWorkspace.Package.PackageSize != "" )
                            if ( _selectedWorkspace.Package.SubmittedBy != null || _selectedWorkspace.Package.SubmittedBy != "" )
                                return true;
                            else
                                return false; …
Run Code Online (Sandbox Code Playgroud)

c# if-statement

-4
推荐指数
1
解决办法
155
查看次数