我使用以下命令创建了一个表:
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)
有什么办法吗?请帮忙.
史蒂夫麦康奈尔的一个清单项目是你不应该使用循环索引(第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++,当它是C语言时.我发现自己越来越不喜欢XML和垃圾收集等新技术.另一方面,我发现了像Lua和Python这样的脚本语言.而且我发现自己更喜欢C++的混合环境,具有确定性内存控制,嵌入式脚本语言,垃圾收集以及所有这些.
我的问题是,当我试图学习这些语言时,我发现自己遇到了一些我不理解的术语:lambdas,closures等.
有哪些在线资源可供老年人了解这些内容?
后台工作线程是否重复使用?
具体来说,如果我在后台工作程序的DoWork()方法中设置了一个命名数据槽(线程局部存储),那么该数据槽的值是否会持续存在,以后可能会发现某个其他线程?
我不会这么想,但我有这个错误......
编辑:这篇博客文章表明BackGroundWorker使用ThreadPool,这意味着线程被重用.所以问题就变成了; 重用线程是否可能在调用之间持久保存线程本地存储?
我正在寻找良好的资源来学习开发Firefox扩展.资源可以是网上的书籍或教程.喜欢基础教程,因为我是Firefox扩展领域的新手,但我有软件开发经验,所以编程不是问题.
我一直在努力了解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的值发生变化.

也许我误解了文档.
谁能摆脱光明?
基本上我们在新的基于WPF的应用程序中需要一个自定义图表组件.
需要显示文本/线条,链接的2D节点和自定义图像,以及其他图表功能,如撤消/重做,对齐,组等.ala Visio.
最初的团队做了一些调查,并确定了WinForms Northwoods GoDiagrams套件......将其嵌入我们的WPF应用程序中的解决方案.那里有任何等效的WPF图表包吗?最好是试过的.谢谢..
在Perl
print "a" x 3; # aaa
Run Code Online (Sandbox Code Playgroud)
在C#中
Console.WriteLine( ??? )
Run Code Online (Sandbox Code Playgroud) 如果我想离线或在线使用MS Sql 2008,我需要使用GUI - > DB-Tasks-Take Online或Take Offline.
这可以用一些sql脚本完成吗?
c# ×4
.net ×3
terminology ×2
diagram ×1
firefox ×1
for-loop ×1
msdn ×1
offline ×1
perl ×1
sql ×1
sql-server ×1
string ×1
thread-local ×1
wpf ×1