问题列表 - 第5145页

私人信息设计

我正在开发一个新网站,我必须为我们的用户发送私信.我已经在其他项目上做过这个,但那里的设计似乎不对(例如,我不能让两个人参与一个消息).那么"正确"的方法是什么呢?我想为我的用户提供与Facebook相同的功能(同样,我已经完成了这个但感觉很脏:))因此系统应该在对话和类似线程的消息中支持2个或更多用户.

我在想,一个解决方案就是有两个这样的表:

pm_messages:id | pm_messages_id | user_id | 标题| 内容| 约会时间

pm_recipients:id | pm_messages_id | user_id | has_seen | 删除

我会将实际内容存储在"pm_messages"表中,然后将收件人(包括原始发件人)存储在"pm_recipients"表中.

这是正确的方向还是我完全没有这个?让我困扰的是,在所有收件人删除了导致某些尴尬的删除逻辑的邮件之前,邮件才真正被删除.

database-design

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

SQL查询中NOT(x> y)和(x <y)之间有什么区别?

以下查询之间有什么区别:

SELECT * FROM employee  WHERE NOT(start_date > '01-JAN-1970');
Run Code Online (Sandbox Code Playgroud)

而这个查询:

SELECT * FROM employee  WHERE start_date < '01-JAN-1970';
Run Code Online (Sandbox Code Playgroud)

有什么区别,如果有的话,如何NOT(x > y)使用不同(x < y).谁能提供一个例子?

谢谢.

sql

4
推荐指数
2
解决办法
313
查看次数

C#:'lambda expression'和'lambda expression'之间没有隐式转换?

无法确定条件表达式的类型,因为'lambda expression'和'lambda expression'之间没有隐式转换

说什么?有人可以向我解释这个编译错误吗?这是产生它的代码:

    protected override Func<System.IO.Stream> GetStream()
    {
        return someBool
            ? () => EmbeddedResourceExtractor.GetFile("SomeFile1.ext")
            : () => EmbeddedResourceExtractor.GetFile("SomeFile2.ext");
    }
Run Code Online (Sandbox Code Playgroud)

这不是:

    protected override Func<System.IO.Stream> GetStream()
    {
        return () => EmbeddedResourceExtractor.GetFile("SomeFile1.ext");
    }
Run Code Online (Sandbox Code Playgroud)

这两个都没有:

    protected override Func<System.IO.Stream> GetStream()
    {
        if(someBool)
            return () => EmbeddedResourceExtractor.GetFile("SomeFile1.ext");
        return () => EmbeddedResourceExtractor.GetFile("SomeFile2.ext");
    }
Run Code Online (Sandbox Code Playgroud)

c# lambda

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

Java Web Start - 流行度

我最近使用了Java Web Start应用程序.我使用我正在查看的页面中的嵌入式jnlp链接从我的Web浏览器启动它.该应用程序已下载,启动并正常工作.它可以访问我的本地文件系统,并在重新启动它之间记住我的偏好.

我想知道的是,为什么Java Web Start应用程序不是Web上复杂应用程序的更流行的交付格式?为什么开发人员经常花费大量时间和精力在html/javascript中复制桌面功能,而使用Java和Java Web Start可以更轻松地提供桌面应用程序的强大功能?

我知道在某些企业环境中,例如银行业,它们是向客户提供复杂交易应用程序的相对流行的方式,但为什么它们不能在整个网络上普及?

(为了便于讨论,让我们假设一个世界:下载源是"可信的"和应用程序是"签名"(即没有安全问题),下载速度快(加载时间快)开发人员知道Java(数量上他们知道html/js/php)).

java jnlp java-web-start

30
推荐指数
4
解决办法
5424
查看次数

为什么Class.forName()对我不起作用?

我正在尝试从变量中实例化一个类,并编写了一些测试代码.但是,不幸的是,它无法正常工作.这是代码:

Object co1 = new CommandDownloadHttp();
Class cc1 = Class.forName("CommandDownloadHttp");
Object co = cc1.newInstance();
Run Code Online (Sandbox Code Playgroud)

不幸的是,在第二线它崩溃了java.lang.ClassNotFoundException.

你能告诉我我做错了什么吗?

java class instantiation classname

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

lambda表达式中的事件 - C#编译器错误?

我正在寻找使用lamba表达式来允许事件以强类型方式连接,但是在中间有一个监听器,例如给定以下类

class Producer
{
    public event EventHandler MyEvent;
}

class Consumer
{
    public void MyHandler(object sender, EventArgs e) { /* ... */ }
}

class Listener
{
    public static void WireUp<TProducer, TConsumer>(
        Expression<Action<TProducer, TConsumer>> expr) { /* ... */ }
}
Run Code Online (Sandbox Code Playgroud)

事件将被连线为:

Listener.WireUp<Producer, Consumer>((p, c) => p.MyEvent += c.MyHandler);
Run Code Online (Sandbox Code Playgroud)

但是这会给编译器错误:

CS0832:表达式树可能不包含赋值运算符

现在起初这似乎是合理的,特别是在阅读了关于为什么表达式树不能包含赋值的解释之后.但是,尽管有C#语法,但+=它不是赋值,它是对Producer::add_MyEvent方法的调用,正如我们可以从CIL中看到的那样,如果我们只是正常连接事件:

L_0001: newobj instance void LambdaEvents.Producer::.ctor()
L_0007: newobj instance void LambdaEvents.Consumer::.ctor()
L_000f: ldftn instance void LambdaEvents.Consumer::MyHandler(object, class [mscorlib]System.EventArgs)
L_0015: newobj instance void [mscorlib]System.EventHandler::.ctor(object, …
Run Code Online (Sandbox Code Playgroud)

c# compiler-construction lambda compiler-errors

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

Javascript - 在新窗口中选择元素打开URL并提交表单

更新 - 请阅读以下原始问题的更多详细信息

我有一个带有各种url的select表单元素,我想在选择时在新窗口中打开 - 要做到这一点,我在元素的onchange事件中有以下代码:

window.open(this.options[this.selectedIndex].value,'_blank');
Run Code Online (Sandbox Code Playgroud)

这很好用.但是我也想在更改这个选择元素值时提交表单 - 我尝试了各种各样的东西,但我似乎无法让它工作.

我有jquery,所以如果通过它更容易实现那么那很好.

更新 - 我刚刚意识到上面还有另一个问题,因为有些url实际上用于生成和输出pdf,而这些不起作用 - 它们打开然后立即关闭(至少在IE7中).

更新07/05/09 - 我现在已经开启了这个问题的赏金,因为我真的需要提出一个有效的解决方案.我最初通过显示链接而不是表单选择元素来解决问题,但这不再可行.

我需要上述原因的原因是我有大量可能需要查看/打印的文件,太多而无法合理地显示为链接列表.我需要提交表单来记录查看/打印特定文件的事实,然后在表单上显示文件历史记录的日志 - 我很擅长实现这方面的事情,所以不需要那里的帮助,但我认为放置背景会有所帮助.

因此,为了澄清我的要求 - 我需要一个表单选择元素和"查看"按钮,单击它时不仅会在新窗口中启动文件下载(请注意我在这些文件是PDF时遇到的上述问题),还要提交包含select元素的表单.

javascript forms jquery select form-submit

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

加入两个SQL查询

我有两个SQL查询,第一个是:

select Activity, SUM(Amount) as "Total Amount 2009"
from Activities, Incomes
where Activities.UnitName = ? AND
      Incomes.ActivityId = Activities.ActivityID
GROUP BY Activity
ORDER BY Activity;
Run Code Online (Sandbox Code Playgroud)

第二个是:

select Activity, SUM(Amount) as "Total Amount 2008"
from Activities, Incomes2008
where Activities.UnitName = ? AND
      Incomes2008.ActivityId = Activities.ActivityID
GROUP BY Activity
ORDER BY Activity;
Run Code Online (Sandbox Code Playgroud)

(不要介意'?',它们代表birt中的参数).我想要实现的目标如下:我想要一个返回与第一个查询相同的SQL查询,但是有一个额外的(第三个)列,看起来与"Total Amount 2008"完全相同(来自第二个查询).

sql database join

31
推荐指数
3
解决办法
18万
查看次数

检查SQL CASE语句中是否存在

我试图根据表中a的不同列是否在表的一组结果中更新表中的列b.目前的变化:

update a
set a.field1 =
 case
 when exists (
   select b.field2
   from b
   where b.field2 = a.field2
 )
 then 'FOO'
 else 'BAR'
 end
Run Code Online (Sandbox Code Playgroud)

没有跑.有关如何为DB2数据库执行此操作的任何想法?

编辑:感谢您的回答,我能做的最好

update a set field1 = 'FOO' where field2 in (select field2 from b);

update a set field1 = 'BAR' where field2 not in (select field2 from b);
Run Code Online (Sandbox Code Playgroud)

但我会保持这个开放,以防有人可以在顶部找到有效的代码版本.

sql database db2

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

我的程序可以访问超过4GB的内存吗?

如果我在64位操作系统的64位机器上运行python,我的程序能否访问全部内存?即我可以建立一个包含100亿条目的列表,假设我有足够的RAM吗?如果没有,是否有其他编程语言允许这样做?

python 64-bit

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