问题列表 - 第1712页

如何对使用嵌套集模型存储的树进行排序?

当我提到嵌套集模型时,我指的是这里描述的内容.

我需要在用户定义的层次结构中构建一个用于存储"类别"(我想不出更好的词)的新系统.由于嵌套集模型针对读取而不是写入进行了优化,因此我决定使用它.不幸的是,在我研究和测试嵌套集时,我遇到了如何显示带有排序节点的分层树的问题.例如,如果我有层次结构:

root
    finances
        budgeting
            fy08
    projects
        research
        fabrication
        release
    trash
Run Code Online (Sandbox Code Playgroud)

我希望对它进行排序,使其显示为:

root
    finances
        budgeting
            fy08
    projects
        fabrication
        release
        research
    trash
Run Code Online (Sandbox Code Playgroud)

请注意,制作在研究之前出现.

无论如何,经过长时间的搜索,我看到了诸如"将树存储在一个多维数组中并对其进行排序"和"求助树并序列化回嵌套集模型"的答案(我正在解释......).无论哪种方式,第一个解决方案是RAM和CPU的可怕浪费,这两者都是非常有限的资源......第二个解决方案看起来像很多痛苦的代码.

无论如何,我能够弄清楚如何(使用嵌套集模型):

  1. 在SQL中启动一个新树
  2. 将节点作为树中另一个节点的子节点插入
  3. 在树中的兄弟节点之后插入节点
  4. 使用SQL中的层次结构拉出整个树
  5. 从具有或不具有深度限制的层次结构中的特定节点(包括根)拉出子树
  6. 找到树中任何节点的父节点

所以我认为#5和#6可用于进行我想要的排序,它也可以用于按排序顺序重建树.

但是,现在我已经了解了所有这些我学会了做的事情,我看到#3,#5和#6可以一起用来执行排序插入.如果我做了排序插入,它总是被排序.但是,如果我改变排序标准或者我想要一个不同的排序顺序,我就会回到原点.

这可能只是嵌套集模型的限制吗?它的使用是否会抑制输出的查询排序?

database tree hierarchy nested-sets

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

使用C#和WinForms在自己的进程中选项卡

可能重复的
Windows窗体应用程序,如谷歌浏览器,具有多个进程
Chrome/IE8多进程设计,是否可以在.NET中使用?
适用于Google Chrome等多进程C#应用的示例

IE8和Google Chrome浏览器都为打开的每个选项卡分别设置了进程.

例如,您启动IE8并在自己的选项卡中打开Yahoo和Google,最终您的系统上运行了3个进程:

  • IE8本身进程[主进程]
    • Google标签流程
    • Yahoo标签流程

我正在玩C#/ WinForms中类似的东西.

举个简单的例子:我有一个显示Form的主进程,我在子进程中有一个Button.我们如何将Button从其他进程渲染到我的表单上?

c# process winforms

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

最好的jQuery状态消息插件?

什么是最好的jQuery状态消息插件?

我喜欢jGrowlPurr,但jGrowl没有保持粘性的功能(不是自动关闭)而且Purr似乎在IE 6中不能正常工作.

我想展示一些消息,比如......网站即将进行维护,你的这样的工作已经完成,以及类似的东西.

javascript jquery user-interface plugins jquery-plugins

42
推荐指数
5
解决办法
4万
查看次数

Linq to SQL:选择优化

在MSSQL中的大表; 选择特定列可以提高查询速度.这同样适用于Linq to SQL吗?

这会是:

var person = from p in [DataContextObject].Persons
             where p.PersonsID == 1
             select new { p.PersonsID, p.PersonsAdress, p.PersonsZipcode };
Run Code Online (Sandbox Code Playgroud)

要快于此:

var person = from p in [DataContextObject].Persons
             where p.PersonsID == 1
             select p;
Run Code Online (Sandbox Code Playgroud)

......?

sql performance linq-to-sql

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

使用Java applet共享ASP.NET会话cookie

我有一个在经过表单身份验证的aspx页面内运行的Java applet.在我的站点的.NET 1.1版本中,applet可以访问会话cookie并且能够从服务器检索文件,但是在.NET 2.0版本中它无法进行身份验证.

我在其他地方看过几个论坛帖子,声明2.0默认情况下会将Hets设置为HttpOnly,但到目前为止给出的解决方案对我来说并不适用.我还在某处读到2.0可能基于用户代理进行区分.

有没有人对此有任何经验或见解?

.net cookies session applet httponly

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

MD5产生碰撞之前有多少随机元素?

我在Amazon S3上有一个图像库.对于每个图像,我md5我的服务器上的源URL加上一个时间戳来获取唯一的文件名.由于S3不能有子目录,我需要将所有这些图像存储在一个平面文件夹中.

我是否需要担心产生的MD5哈希值中的冲突?

额外奖励:在我开始看到MD5产生的哈希值发生冲突之前,我可以拥有多少个文件?

random hash md5

155
推荐指数
6
解决办法
7万
查看次数

如何确保Linq to Sql不会覆盖或违反不可空的数据库默认值?

我有一个带有这些字段的表的SQL Server数据库:

  1. A bit的默认值为1 , NOT NULL.
  2. A smalldatetime具有默认值gettime(),NOT NULL.
  3. 一个int没有默认值,IDENTITY,NOT NULL.

当我为此表生成Linq to SQL时,会发生以下情况:

  1. bit没有给出特殊处理.
  2. smalldatetime没有给出特殊处理.
  3. int被标记为IsDbGenerated.

这意味着当我使用Linq to SQL进行插入时,将发生以下情况:

  1. bit将被发送为0,覆盖默认值.对?
  2. smalldatetime将被作为一个未初始化的System.DateTime,生产在SQL服务器错误,因为它不与SQL Server的SMALLDATETIME范围不同.对?
  3. IsDbGenerated int不会被发送; DB将生成一个Linq to SQL将读回的值.

我必须做出哪些更改才能使此方案有效?

总结一下:我想要具有DB分配的默认值的非可空字段,但是IsDbGenerated如果它意味着在使用Linq to SQL进行更新或插入时我无法为它们提供值,则我不需要它们.IsDbGenerated如果这意味着我必须手动修改Linq生成的代码到SQL,我也不想要它们.

编辑:答案似乎是这是当前Linq to SQL的限制.

c# sql linq sql-server-2005 linq-to-sql

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

621
推荐指数
17
解决办法
33万
查看次数

将JavaScript数组转换为逗号分隔列表的简便方法?

我在JavaScript中有一个一维的字符串数组,我想把它变成以逗号分隔的列表.在花园种类的JavaScript(或jQuery)中有一种简单的方法可以将其转换为以逗号分隔的列表吗?(我知道如何迭代数组并通过连接自己构建字符串,如果这是唯一的方法.)

javascript jquery

380
推荐指数
9
解决办法
39万
查看次数

在.NET中调用HttpHandler文件的最简单方法是什么?

我的网络服务器上有一个HttpHandler,它采用" https:// servername/myhandler?op = get&k = Internal&m = jdahug1 " 形式的URL .我需要从我的.NET应用程序中调用此URL并捕获输出内容.有谁知道我怎么做到这一点?我希望它很简单,以便我只返回带有输出的字符串,并且我可以指定自己的超时.

  • 谢谢!

.net asp.net http

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