小编Ed *_*ess的帖子

在不知道约束名称的情况下删除外键?

我使用以下命令创建了一个表:

create table Table1(
    Id int Not Null 
        Foreign key 
        references Table2(Id)  
        on delete cascade 
        on update cascade,
    UserName nvarchar(150),
    TimeInSeconds int Not Null 

    primary key(Id,TimeInSeconds)
);
Run Code Online (Sandbox Code Playgroud)

但现在我想放弃外键.由于我没有给出约束名称,我无法使用:

Alter table <tablename>
drop foreign key <foreign key name>
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?请帮忙.

sql-server

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

为什么"带有循环索引的猴子"不好?

史蒂夫麦康奈尔的一个清单项目是你不应该使用循环索引(第16章,第25页,循环索引,PDF格式).

这是直觉上的,并且是我一直遵循的练习,除非我学会了如何在当天编程.

在最近的代码审查中,我发现这个尴尬的循环并立即将其标记为可疑.

        for ( int i=0 ; i < this.MyControl.TabPages.Count ; i++ )
        {
            this.MyControl.TabPages.Remove ( this.MyControl.TabPages[i] );
            i--;
        }
Run Code Online (Sandbox Code Playgroud)

它几乎是有趣的,因为它设法通过将索引保持为零来工作,直到删除所有TabPages.

这个循环可以写成

        while(MyControl.TabPages.Count > 0)
            MyControl.TabPages.RemoveAt(0);
Run Code Online (Sandbox Code Playgroud)

而且由于控制实际上与循环几乎同时写入,它甚至可以写成

        MyControl.TabPages.Clear();
Run Code Online (Sandbox Code Playgroud)

我一直以来受到质疑有关代码审查问题,并发现我的关节为什么它是不好的做法,是没有那么强,因为我会很喜欢.我说很难理解循环的流程,因此难以维护和调试,并且最终在代码的生命周期内更加昂贵.

是否有更好的阐述为什么这是不好的做法?

c# for-loop

16
推荐指数
3
解决办法
2144
查看次数

老年人计算机科学

我学习了C++,当它是C语言时.我发现自己越来越不喜欢XML和垃圾收集等新技术.另一方面,我发现了像Lua和Python这样的脚本语言.而且我发现自己更喜欢C++的混合环境,具有确定性内存控制,嵌入式脚本语言,垃圾收集以及所有这些.

我的问题是,当我试图学习这些语言时,我发现自己遇到了一些我不理解的术语:lambdas,closures等.

有哪些在线资源可供老年人了解这些内容?

computer-science language-theory terminology

14
推荐指数
4
解决办法
784
查看次数

是否在后台工作者调用之间保留了线程本地存储?

后台工作线程是否重复使用?

具体来说,如果我在后台工作程序的DoWork()方法中设置了一个命名数据槽(线程局部存储),那么该数据槽的值是否会持续存在,以后可能会发现某个其他线程?

我不会这么想,但我有这个错误......

编辑:这篇博客文章表明BackGroundWorker使用ThreadPool,这意味着线程重用.所以问题就变成了; 重用线程是否可能在调用之间持久保存线程本地存储?

.net c# multithreading backgroundworker thread-local

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

学习开发Firefox Extensions的良好资源

我正在寻找良好的资源来学习开发Firefox扩展.资源可以是网上的书籍或教程.喜欢基础教程,因为我是Firefox扩展领域的新手,但我有软件开发经验,所以编程不是问题.

firefox

13
推荐指数
2
解决办法
1129
查看次数

Process.MainWindowHandle的意外行为

我一直在努力了解Process.MainWindowHandle.

根据MSDN; "主窗口是在进程启动时创建的窗口.初始化后,可以打开其他窗口,包括Modal和TopLevel窗口,但与进程关联的第一个窗口仍然是主窗口." (重点补充)

但是在调试时我注意到MainWindowHandle似乎改变了价值......这是我没想到的,特别是在查阅上面的文档之后.

为了确认行为,我创建了一个带有计时器的独立WinForms应用程序,每隔100ms检查一次"DEVENV"(Visual Studio)进程的MainWindowHandle.

这是这个测试应用的有趣部分......

    IntPtr oldHWnd = IntPtr.Zero;

    void GetMainwindowHandle()
    {
        Process[] processes = Process.GetProcessesByName("DEVENV");

        if (processes.Length!=1)
            return;

        IntPtr newHWnd = processes[0].MainWindowHandle;

        if (newHWnd != oldHWnd)
        {
            oldHWnd = newHWnd;
            textBox1.AppendText(processes[0].MainWindowHandle.ToString("X")+"\r\n");
        }

    }

    private void timer1Tick(object sender, EventArgs e)
    {
        GetMainwindowHandle();
    }
Run Code Online (Sandbox Code Playgroud)

当您(例如)单击VS内的下拉菜单时,您可以看到MainWindowHandle的值发生变化.

MainWindowHandleMystery

也许我误解了文档.

谁能摆脱光明?

.net c# msdn

10
推荐指数
2
解决办法
4476
查看次数

是否有一个好的WPF图表/工具包/提供商?

基本上我们在新的基于WPF的应用程序中需要一个自定义图表组件.
需要显示文本/线条,链接的2D节点和自定义图像,以及其他图表功能,如撤消/重做,对齐,组等.ala Visio.

最初的团队做了一些调查,并确定了WinForms Northwoods GoDiagrams套件......将其嵌入我们的WPF应用程序中的解决方案.那里有任何等效的WPF图表包吗?最好是试过的.谢谢..

.net wpf diagram

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

"丰富的用户界面"是什么意思?

术语"丰富的用户界面"究竟是什么意思?

引用用户界面时是否意味着同样的事情,就像在引用通信框架时那样

这是否意味着用户界面可能"差"?(与富人相反,而不是设计不佳)

language-agnostic user-interface terminology

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

7
推荐指数
3
解决办法
1433
查看次数

SQL脚本在线或离线使用Microsoft Sql数据库?

如果我想离线或在线使用MS Sql 2008,我需要使用GUI - > DB-Tasks-Take Online或Take Offline.

这可以用一些sql脚本完成吗?

sql offline sql-server-2008

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