小编Nat*_*oop的帖子

根据第二列值对列中的不同行求和

我有一个订单表(简化)

OrderId,
SalesPersonId,
SaleAmount,
CurrencyId,
...
Run Code Online (Sandbox Code Playgroud)

我试图在这张桌子上创建一个报告,我希望有类似的东西:

SalesPersonId   TotalCAD    TotalUSD
1               12,345.00   6,789.00
2               7,890.00    1,234.00
Run Code Online (Sandbox Code Playgroud)

我宁愿不做自我加入(也许我过早地进行优化,但这似乎效率低下)IE:

SELECT SalesPersonId, SUM(OrdersCAD.SaleAmount), SUM(OrderUSD.SaleAmount)
FROM Orders
    LEFT JOIN Orders AS OrdersCAD ON Orders.OrderID AND Orders.CurrencyID = 1
    LEFT JOIN Orders AS OrdersUSD ON Orders.OrderID AND Orders.CurrencyID = 2
Run Code Online (Sandbox Code Playgroud)

但是我想不出另一种方法可以做到这一点,任何想法?

sql sql-server

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

是否更快地使用字符的arraylist来执行多个字符串连接?

我正在使用.Net微框架,因此StringBuilder不可用.

我已经看到来自apt专业人员的一些代码使用chars的Arraylist来连接和构建字符串,而不是+运算符.它们本质上构建了一个托管代码StringBuilder.

这有性能优势吗?假设连接数大于10且字符串长度也大于10.

c# .net-micro-framework c#-3.0

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

在SQL Server中定义可能包含整数或字符串的列的最佳方法是什么?

我有一种情况,两个相同类型的对象有不同类型的父母.以下伪代码最好地解释了这种情况:

TypeA a1, a2;
TypeB b;
TypeC c;
a1.Parent = b;
a2.Parent = c;
Run Code Online (Sandbox Code Playgroud)

更复杂的是,TypeB和TypeC可能具有不同类型的主键,例如,以下断言可能为真:

Assert(b.Id is string && c.Id is int);
Run Code Online (Sandbox Code Playgroud)

我的问题是在SQL Server中定义这种父子关系的最佳方法是什么?我能想到的唯一解决方案是定义TypeA表有两列 - ParentId和ParentType,其中:

  • ParentId是sql_variant - 能够同时保存数字和字符串
  • ParentType是字符串 - 保留父类型的程序集限定名称.

但是,当我基于sql_variant定义用户数据类型时,它将字段大小指定为固定的8016字节,这似乎很多.

必须有一个更好的方法.任何人?谢谢.

sql sql-server sql-variant

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

SQL:从发生次数最少的列中检索值

我有一个有一个字段的表.它有一个像(3,7,9,11,7,11)这样的值现在我想要一个查询,它将选择出现次数最少的值,如果存在最小出现次数,则使用最小的数字

在这种情况下,答案将是3.

sql sql-server

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

如何在vb.net打开文件对话框中选择整个文件夹?

是否可以在VB.NET打开对话框中选择整个文件夹?

我的意思是,打开对话框并浏览文件夹,然后选择整个文件夹而不是单个文件.

vb.net

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

EF代码首先列出<DateTime>而不创建表

我正在用一个实体创建一个非常简单的EF4代码第一个项目.

public class Activity
{
    public Guid Id { get; set; }
    public string Description { get; set; }
    public List<DateTime> DateDone { get; set; }
    <snip>

    public Activity()
    {
        if(DateDone==null)
            DateDone = new List<DateTime>();
    }
}
Run Code Online (Sandbox Code Playgroud)

我重建我的项目,然后运行MVC3应用程序并生成数据库(确认,我已添加和删除列),我的数据是种子(当我修改种子数据时它在屏幕上更改)

我能够:

var activity = db.Activities.Find(id);
activity.DateDone = DateTime.Now;
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但是数据没有保存.我检查了数据库,因为只有一个表(Activity),它有所有相应的字段.我希望它应该有第二个表,ActivityDateDone有两个字段,ActivityGuid和DateDone.

我在做这项工作时缺少什么?

.net c# code-first entity-framework-4

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

优先考虑IF语句部分

我有一个验证数据的IF语句.

基本上看起来像这样:

Dim s As String = Nothing

If s Is Nothing Or s.Length = 0 Then
    Console.WriteLine("Please enter a value")
End If

Console.Read()
Run Code Online (Sandbox Code Playgroud)

我想检查一下是否先没有,因为如果我这样写,它会抛出一个NullReferenceException.

我想过像这样重写它:

If s Is Nothing Then
    Console.WriteLine("Please enter a value")
ElseIf s.Length = 0 Then
    Console.WriteLine("Please enter a value")
End If
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,我会得到两次相同的错误消息,我相信我的意图不太明确.

我也尝试在s Is Nothing子句周围抛出括号,但它不起作用.

如果对象什么都没有,然后测试它的属性,是否有优雅的测试?

.net vb.net if-statement

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

从远程网络共享打开文件

我试图从服务器打开一个文件

我现在有

Dim attachedFilePath As String = "\\myserver\myshare\test.txt"

File.Open(attachedFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)
Run Code Online (Sandbox Code Playgroud)

这不会打开文件.

但是,如果我将路径更改为本地,则没有问题.

Dim attachedFilePath As String = "c:\...\test.txt"
Run Code Online (Sandbox Code Playgroud)

那么,有没有办法从远程存储打开文件?

vb.net file-io winforms

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

接口实现了不同的接口,导致绑定到 Combobox 的问题

我正在学习 Fluent NHibernate,这个问题来自那个项目。

我有一个基类和一个基接口:

public abstract class Base : IBase
{
    public virtual Guid Id { get; set; }
    public virtual bool IsValid()
    {
        return false;
    }
}

public interface IBase
{
    Guid Id { get; set; }
    bool IsValid();
}
Run Code Online (Sandbox Code Playgroud)

我从以下继承了所有其他域类:

public class Item:Base, IItem
{
    public virtual string Name { get; set; }

    public override bool IsValid()
    {
        <snip>
    }
    <snip>
}

public interface IItem: IBase
{
    string Name { get; set; }
    <snip>
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将所有项目的列表绑定到 winforms Combobox …

c# data-binding design-patterns interface winforms

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

显示/隐藏时边距/填充碰撞div

我有一个包含几个单选按钮的div.这些显示/隐藏文本框.

<p>Some text</p>
<div>
    <div>
        <input id="show" name="radioGroup" type="radio" value="1" /><label for="show">Show</label> - 
        <input id="hide" name="radioGroup" type="radio" value="0" /><label for="hide">Hide</label>
    </div>
    <div class="myTextBox">
         <input type='text'>   
    </div>
</div>

<p>Some text</p>?
Run Code Online (Sandbox Code Playgroud)

当我显示/隐藏时,.myTextBox文本会突然出现几个像素.这是由于文本框上的填充和边距.

没有删除这些设置(填充/边距)有没有办法消除CSS凹凸?

请参阅jsFiddle上的示例http://jsfiddle.net/nTJZN/1/

css

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