问题列表 - 第28456页

在树中查找节点级别

我有一个树(嵌套类别)存储如下:

CREATE TABLE `category` (
  `category_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `category_name` varchar(100) NOT NULL,
  `parent_id` int(10) unsigned DEFAULT NULL,
  PRIMARY KEY (`category_id`),
  UNIQUE KEY `category_name_UNIQUE` (`category_name`,`parent_id`),
  KEY `fk_category_category1` (`parent_id`,`category_id`),
  CONSTRAINT `fk_category_category1` FOREIGN KEY (`parent_id`) REFERENCES `category` (`category_id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci
Run Code Online (Sandbox Code Playgroud)

我需要用节点信息(子+父)提供我的客户端语言(PHP),以便它可以在内存中构建树.我可以调整我的PHP代码,但我认为如果我能按照所有父母在他们的孩子面前的顺序检索行,那么操作会更简单.如果我知道每个节点的级别,我就可以这样做:

SELECT category_id, category_name, parent_id
FROM category
ORDER BY level -- No `level` column so far :(
Run Code Online (Sandbox Code Playgroud)

你能想出一种方法(视图,存储例程或其他......)来计算节点级别吗?我想如果它不是实时的,我可以在节点修改时重新计算它.

第一次更新:目前为止的进展

我根据Amarghosh的反馈写了这些触发器:

DROP TRIGGER IF EXISTS `category_before_insert`;

DELIMITER //

CREATE TRIGGER `category_before_insert` …
Run Code Online (Sandbox Code Playgroud)

mysql sql innodb hierarchical-data mysql-error-1442

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

java.lang.IllegalStateException:前面的方法调用getMessage("title")缺少行为定义

我正在使用EasyMock(版本2.4)和TestNG来编写UnitTest.

我有一个以下场景,我不能改变定义类层次结构的方式.

我正在测试扩展ClassA的ClassB.

ClassB看起来像这样

public class ClassB extends ClassA  {

  public ClassB()
    {
        super("title");
    }

    @Override
    public String getDisplayName() 
    {
        return ClientMessages.getMessages("ClassB.title");
    }

}
Run Code Online (Sandbox Code Playgroud)

ClassA代码

public abstract class ClassA {
    private String title;

    public ClassA(String title)
    {
        this.title = ClientMessages.getMessages(title);
    }

    public String getDisplayName()
    {
        return this.title;
    }
}
Run Code Online (Sandbox Code Playgroud)

ClientMessages类代码

public class ClientMessages {
    private static MessageResourse messageResourse;

    public ClientMessages(MessageResourse messageResourse) 
    {
        this.messageResourse = messageResourse;
    }
    public static String getMessages(String code) 
    {
        return messageResourse.getMessage(code);

    }
}
Run Code Online (Sandbox Code Playgroud)

MessageResourse类代码

public class MessageResourse …
Run Code Online (Sandbox Code Playgroud)

java testng unit-testing easymock

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

如何使用LINQ选择具有最高值的项目?

想象一下,你有一个这样的课:

class Foo {
    string key;
    int value;
}
Run Code Online (Sandbox Code Playgroud)

你如何选择具有最高价值的Foo IEnumeralbe<Foo>

一个基本问题是保持迭代次数较低(即1),但这会影响可读性.毕竟,我能找到的最好的东西是这样的:

IEnumerable<Foo> list;
Foo max = list.Aggregate ((l, r) => l.value > r.value ? l : r);
Run Code Online (Sandbox Code Playgroud)

你能想到一个更好的方法吗?

编辑:list.OrderByDescending(l => l.value).First();是我的首选,但它不是O(n).

c# linq

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

App.Config转换为Visual Studio中不是Web项目的项目?

对于Visual Studio 2010基于Web的应用程序,我们具有Config Transformation功能,通过该功能,我们可以为不同的环境维护多个配置文件.但是,对于Windows Services/WinForms或控制台应用程序,App.Config文件无法使用相同的功能.

这里提供了一种解决方法:将XDT魔术应用于App.Config.

然而,它并不简单,需要许多步骤.有没有更简单的方法来实现相同的app.config文件?

app-config .net-4.0 visual-studio web-config-transform slowcheetah

528
推荐指数
9
解决办法
20万
查看次数

更改ASP.NET的会话状态cookie的到期日期

我正在使用ASP.NET会话状态来跟踪我的网站上登录的用户.

但是,我遇到的一个问题是,默认情况下,ASP.NET会话cookie在浏览器关闭时设置为过期.

http://ahb.me/43e

我已经尝试使用类似于以下代码的东西设置我自己的ASP.NET_SessionId cookie并修改cookie的到期时间:

Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMonths(1);
Run Code Online (Sandbox Code Playgroud)

这些方法都不起作用,它们都设置了具有相同名称的第二个cookie.

有没有办法改变会话cookie的到期日期?

c# asp.net cookies session session-state

6
推荐指数
2
解决办法
7317
查看次数

如果发生故障,请在ANT中执行默认任务

我目前正在使用ANT在Windows XP机器上构建我的Java项目.在我的build.xml文件中,我已经定义了3个任务,我希望在失败的情况下,在关闭构建和退出之前执行默认任务(如恢复过程).我想知道是否有可能.

谢谢

java ant exit

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

为什么gcov为STL标头创建代码覆盖率数据?

当我运行gcov foo.cpp时,它不仅为foo.cpp生成代码覆盖率报告,而且为foo.cpp使用的所有STL头生成.

有办法防止这种情况吗?它似乎忽略了标准的库标题<ctime>.

编辑

刚刚在gcc邮件列表上看过这篇文章:

Re:gcc,gcov和STL

c++ code-coverage g++ gcov

11
推荐指数
2
解决办法
4194
查看次数

将iPhone应用限制为Wifi

如果有Wifi连接(不是3G),是否可以限制iPhone应用程序才能工作?

iphone wifi 3g

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

逆变代表值类型

任何人都可以阐明为什么逆变不适用于C#值类型?

以下不起作用

private delegate Asset AssetDelegate(int m);

internal string DoMe()
{
    AssetDelegate aw = new AssetDelegate(DelegateMethod);
    aw(32);
    return "Class1";
}

private static House DelegateMethod(object m)
{
    return null;
}
Run Code Online (Sandbox Code Playgroud)

c# contravariance c#-3.0

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

Oracle 11g ODP.Net提供程序的DBNull问题

我们在检查"DBNull"的输出参数时遇到问题.Oracle存储过程或函数返回的"DBNull"值被oracle 11g客户端/ ODP.Net提供程序视为"null"字符串.这适用于oracle 10g客户端,因为它返回"DBNull".因此,我们所有的"DBNull"检查都失败了

odp.net oracle11g

5
推荐指数
2
解决办法
7143
查看次数