在MS Access中pipe理和debuggingSQL查询

MS Accesspipe理原始SQL查询的能力有限:编辑器非常糟糕,没有语法突出显示,它将原始SQL重新格式化为一个长string,并且不能插入注释。 debugging复杂的SQL查询也是一件痛苦的事情:要么将其分割成许多较小的查询,在模式更改时变得难以pipe理,要么最终导致一个巨大的查询,这个查询是debugging和更新的恶梦。 如何在MS Access中pipe理复杂的SQL查询,以及如何debugging它们? 编辑 目前,我主要是使用记事本+ + +一些语法着色和SQL漂亮打印机合理重新格式化来自Access的原始SQL。 使用外部存储库是有用的,但始终存在两个版本不同步的风险,并且在尝试Access中的查询之前,仍然需要删除注释。

如果线程启动Executor,则无法从Future <?>和SwingWorker获取ArrayIndexOutOfBoundsException

我使用Executor来玩SwingWorker的multithreading,而且我从那里错误的发现了Vector中的错误元素,看起来像这段代码很可能忽略了Vector中不存在的元素 我的问题 – >如何/有可能以某种方式捕捉这个exception 简单的输出 run: Thread Status with Name :StartShedule, SwingWorker Status is STARTED Thread Status with Name :StartShedule, SwingWorker Status is DONE Thread Status with Name :StartShedule, SwingWorker Status is STARTED Thread Status with Name :StartShedule, SwingWorker Status is DONE Thread Status with Name :StartShedule, SwingWorker Status is STARTED Thread Status with Name […]

EF:包含where子句

由于标题build议我正在寻找一种方法来做一个where子句结合一个包含。 这是我的情况:我负责支持一个充满代码气味的大型应用程序。 改变太多的代码导致错误到处都是,所以我正在寻找最安全的解决scheme。 比方说,我有一个对象总线和一个对象人(公共汽车有一个导航收集的人)。 在我的查询中,我需要select所有的巴士只有乘客醒着。 这是一个简单的虚拟示例 在当前的代码中: var busses = Context.Busses.Where(b=>b.IsDriving == true); foreach(var bus in busses) { var passengers = Context.People.Where(p=>p.BusId == bus.Id && p.Awake == true); foreach(var person in passengers) { bus.Passengers.Add(person); } } 在此代码之后,处理Context,并在调用方法中将所得到的Bus实体映射到DTO类(实体的100%副本)。 此代码会导致多次调用数据库,这是一个不行,所以我在MSDN博客上find了这个解决scheme debugging结果,但当实体映射到DTO(使用AutoMapper)时,这工作得很好我得到一个exception,上下文/连接已closures,该对象无法加载。 (上下文总是closures不能改变这个:() 所以我需要确保选定的乘客已经加载(IsLoaded导航属性也是假的)。 如果我检查乘客集合计数也抛出exception,但也有Passegers集合称为“包裹的相关实体”,其中包含我的过滤对象的集合。 有没有办法将这些包装的相关实体加载到整个集合中? (我不能更改automapper映射configuration,因为这是在整个应用程序中使用)。 有没有另外一种方法来获得积极的乘客? 任何暗示都欢迎… 编辑 Gert Arnold的答案因为数据没有被加载而不起作用。 但是,当我简化它,并删除它被加载的地方。 这是非常奇怪的,因为execute sql在两种情况下返回所有的乘客。 所以在将结果返回到实体时必定存在问题。 Context.Configuration.LazyLoadingEnabled = […]

jQuery.on()是否适用于在创build事件处理程序之后添加的元素?

我一直在这个印象之下, .on()像dynamic创build的元素(比如我使用$('.foo').on('click', function(){alert('click')});然后一个元素与foo类是由于一些AJAX创build,现在我期待点击该元素导致警报)。 在实践中,这些不是我得到的结果。 我可能会犯一个错误,但有人能帮我理解在.on()之后实现这些结果的新方法吗? 提前致谢。

使用split(“|”)通过pipe道符号分割Javastring

Java官方文档指出: 例如,string"boo:and:foo"用这些expression式产生以下结果正则expression式结果: { "boo", "and", "foo" }" 这就是我需要它工作的方式。 但是,如果我运行这个: public static void main(String[] args){ String test = "A|B|C||D"; String[] result = test.split("|"); for(String s : result){ System.out.println(">"+s+"<"); } } 它打印: >< >A< >|< >B< >|< >C< >|< >|< >D< 这与我所期望的相差甚远: >A< >B< >C< >< >D< 为什么发生这种情况? 提前致谢

为什么大部分的x64指令会将32位寄存器的上半部分清零?

今天我了解了x64程序集(资料来源: http : //x86asm.net/articles/x86-64-tour-of-intel-manuals/ ) 也许最令人惊讶的事实是,诸如MOV EAX,EBX之类的指令自动将RAX寄存器的高32位清零。 英特尔文档(3.4.1.1通用基本体系结构中的64位模式的通用寄存器)在同一来源中引用告诉我们: 64位操作数在目标通用寄存器中生成一个64位结果。 32位操作数产生一个32位结果,在目标通用寄存器中零扩展为一个64位结果。 8位和16位操作数生成8位或16位结果。 目标通用寄存器的高56位或48位(分别)不会被操作修改。 如果8位或16位操作的结果是用于64位地址计算的,则明确地将寄存器扩展为完整的64位。 在x86-32汇编中,16位指令如 mov ax, bx 不要performance出这种eax的上位字“零”的“奇怪”的行为。 因此:这种行为被引入的原因是什么? 乍一看这似乎不合逻辑(但原因可能是我习惯了x86-32汇编的怪癖)。

IPython笔记本区域设置错误

安装最新的Mac OSX 64位Anaconda Python发行版之后 ,在尝试启动IPython Notebook时,我不断收到一个ValueError。 开始ipython正常工作: 3-millerc-~:ipython Python 2.7.3 |Anaconda 1.4.0 (x86_64)| (default, Feb 25 2013, 18:45:56) Type "copyright", "credits" or "license" for more information. IPython 0.13.1 — An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about […]

Java逻辑运算符短路

哪一组是短路的,究竟是什么意思,复杂的条件expression式是短路? public static void main(String[] args) { int x, y, z; x = 10; y = 20; z = 30; // TT // TF // FT // FF //SET A boolean a = (x < z) && (x == x); boolean b = (x < z) && (x == z); boolean c = (x == […]

如何防止表单被提交?

我有一个在其中有一个提交button的表单。 但是,我想以某种方式“抓住”提交事件并阻止它发生。 有什么办法可以做到这一点? 我无法修改提交button,因为它是自定义控件的一部分。

为什么我需要在另一个组件中使用rendered =“#{some}”嵌套一个组件,当我想要更新它时?

所以我发现了几个答案,我已经find了足够的解决我所遇到的问题。 但是,即使如此,我也很好奇为了解这个问题。 让我以一个例子来说明: 我有一个facelet .xhtml页面,看起来像这样(缩短)。 <h:form id="resultForm"> <h:panelGroup class="search_form" layout="block"> <h:inputText id="lastname" value="#{search.lastname}"/> <h:commandButton action="#{search.find}" value="Find"> <f:ajax execute="lastname" render="resultDisplay"/> </h:commandButton> </h:panelGroup> <h:dataTable value="#{search.searchResults}" var="results" id="resultDisplay" rendered="#{!empty search.searchResults}"> <h:column> #{results.field} </h:column> </h:dataTable> </h:form> 现在,为了简洁起见,我不会发布所有的支持bean代码,但是我有这样的一些东西: public void find() { searchResults = setResults(true); } 其中searchResults是一个ArrayList<Objects> 。 search后,它不是空 – 在多个testing中检查(可以为空,但不是在我正在做的testing)。 现在。 这是行不通的。 但是,如果我把dataTableembedded另一个,让我们说panelGroup ,它将工作。 <h:panelGroup id="resultDisplay"> <h:dataTable value="#{search.searchResults}" var="results" […]