我正在尝试找到格式化SQL查询字符串的最佳方法.当我调试我的应用程序时,我想记录所有sql查询字符串,并且正确格式化字符串很重要.
选项1
def myquery():
sql = "select field1, field2, field3, field4 from table where condition1=1 and condition2=2"
con = mymodule.get_connection()
...
Run Code Online (Sandbox Code Playgroud)
选项2
def query():
sql = """
select field1, field2, field3, field4
from table
where condition1=1
and condition2=2"""
con = mymodule.get_connection()
...
Run Code Online (Sandbox Code Playgroud)
这里的代码很清楚,但是当你打印sql查询字符串时,你会得到所有这些烦人的空白区域.
你从表\n _ ___ 中选择field1,field2,field3,field4 \n_ _ ___ ,其中condition1 = 1 \n _ ___ _和 condition2 = 2'
注意:我已经用下划线替换了空格_
,因为它们是由编辑器修剪的
选项3
def query():
sql = """select field1, field2, field3, field4
from table …
Run Code Online (Sandbox Code Playgroud) 我想在左侧有一个带有标题的表格,标题应该尽可能地窄,并且值的空间应该占据页面宽度的其余部分.标题应该都在一行上,除非标题单元格的内容很长,此时标题应该包裹在多行上.
内容短,这有效:
<table border="1">
<tr>
<th>Short Header</th>
<td>value</td>
</tr>
<tr>
<th>Quite Long Header</th>
<td>value</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS:
table {
width: 100%;
}
th {
text-align: right;
width: 10px;
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试添加最大宽度而不是换行时,内容会溢出文本框:
table {
width: 100%;
}
th {
text-align: right;
width: 10px;
white-space: nowrap;
max-width: 300px;
word-break: break-all;
}
Run Code Online (Sandbox Code Playgroud)
演示:https://jsfiddle.net/2avm4a6n/
似乎white-space: nowrap;
样式会覆盖word-break: break-all;
,因此max-width: 300px;
导致文本溢出.我正在使用white-space: nowrap;
和width: 10px;
组合使标题列尽可能地缩小,而不包括在最小宽度以下使用空格的标题,但只包含width: 10px;
和word-break: break-all;
导致标题包装成单个字符以适应窄10px.
知道怎么用css做这个吗?
我正在为遗留的ASP.NET应用程序设计一些体系结构更改.我为一些模拟ASP.NET MVC的IDependencyResolver的依赖项解析的类做了原型.我不会发布,因为它几乎是相同的界面,但用其他自然语言.
我发现它可能被认为是服务位置,反过来通常(在某些情况下不完全)被谴责支持依赖注入.尽管如此,我找不到任何反对使用ASP.NET MVC的依赖项解析实现的建议.
ASP.NET MVC的IDependencyResolver是否被视为反模式?这是件坏事吗?
我有一些旧的MbUnit代码,如下所示:
public class MyFixture {
[SetUp]
public void SetUp() {
// Add data to database
}
[Test, Rollback]
public void DoTest() {
// Tests with the data
}
}
Run Code Online (Sandbox Code Playgroud)
我新的NUnit Rollback属性看起来有点像这样:
public class RollbackAttribute : TestActionAttribute
{
public override void BeforeTest(TestDetails testDetails)
{
// Begin transaction
}
public override void AfterTest(TestDetails testDetails)
{
// Abort transaction
}
}
Run Code Online (Sandbox Code Playgroud)
回滚应回滚SetUp方法中添加的新数据以及测试期间的任何修改.不幸的是,似乎NUnit的BeforeTest在fixture的SetUp方法之后运行,因此在SetUp期间添加的数据不会回滚.
有没有办法在SetUp之前运行BeforeTest?
一个选项是基类,并用SetUp和TearDown中的其他代码替换现有的Rollback属性,但是我的一些测试需要在事务外部运行(它们在测试运行期间自己创建多个事务),因此在所有测试中添加事务案件需要一点点照顾.我宁愿找到一个可以重用现有Rollback属性的解决方案.
在我的应用程序中,我想从字符串中删除除字符az之外的数字.我怎样才能获得角色?
我在数据透视表中有一组数据,包含日期时间和事件.我已经制作了包含这些数据的数据透视表,并按天和年对数据进行分组,然后显示每天的事件计数.所以,我的水平轴从2007年3月19日到2010年5月11日,我的垂直轴是数字,从零到140.
有些日子,我有零事件.这些天似乎没有在横轴上显示,因此2008年比2009年更窄.
如何在没有事件的情况下显示零天数?
我希望我的水平轴是连续的,这样它就不会错过任何一天,并且每个月都会占用相同数量的水平空间.
(这个问题类似于这里未回答的问题,但我宁愿不生成最近x年中所有日子的表格,只是为了得到一个平滑的情节!)
这可能是在黑暗中拍摄的,但是,我如何在PresentationFramework.dll中的以下内部静态方法中设置断点?
System.Windows.Documents.TextEditorTyping._ShowCursor()
Run Code Online (Sandbox Code Playgroud)
我遇到了与Joe非常相似的情况,我使用TextBox控件和包含ItemsControl的Popup制作自定义自动完成文本框.当我将焦点放在文本框中并且弹出窗口显示为StaysOpen ="False",并键入一些字符时,鼠标指针将被隐藏(通过调用System.Windows.Documents.TextEditorTyping.HideCursor我相信).它通常在鼠标移动时重新显示,但是当它检查是否应该隐藏时,弹出窗口似乎会处理此事件,因此当您在窗口周围移动时,指针会保持隐藏状态.
有一个怪癖,在第一次按键时,指针消失然后立即重新出现,然后在第二次按键时,指针保持隐藏状态.这表明有些东西正在调用_ShowCursor(),我很想知道是什么.因此这篇文章,以及设置上述断点的愿望.我该如何设置断点?
关于我的实际问题,指针一旦移动就保持隐藏,我希望通过自己模拟StaysOpen ="False"而不阻止鼠标移动事件来解决它,或者自己触发鼠标移动事件以使指针重新出现.关于此的任何其他提示赞赏.
我正在尝试重现WPF应用程序中某些纸张表单的布局.文本框的标签应与文本框的内容"内联",而不是像普通Windows窗体一样"外部".因此,使用Xxxxxx标签:
+-----------------------------+
| Xxxxxx: some text written |
| in the multiline input. |
| |
| another paragraph continues |
| without indentation. |
| |
| |
+-----------------------------+
Run Code Online (Sandbox Code Playgroud)
Xxxxxx无法编辑,如果用户选择文本框的所有内容,标签必须保持未选中状态,我需要能够在文本框中没有文本时单独设置标签的文本颜色/格式. ,但它有焦点,插入符号应该在标签后面闪烁,我需要文本框中的文本基线和标签排列.
我尝试过的一个解决方案是将一个文本块部分放在输入上,然后使用文本缩进来缩进可编辑文本,尽管这会导致以下段落出现问题,因为它们也是缩进的.我不确定如何缩进第一段.它需要一些摆弄才能使文本排成一行 - 更可靠的设置将是理想的.
那么,关于如何设置它的任何建议?
谢谢
验证输入的最佳方法是什么?为了论证,如果输入无效,用户想要一条消息来解释原因.
这是我能想到的.
Validator
方法:将输入传递给验证器,true
如果输入有效,则返回验证器.否则,验证器返回false
(或错误代码)并让调用者处理无效输入.或者验证者负责自己采取行动.或者验证器调用回调方法.缺点:调用实际方法时,可能会重复执行验证所采取的步骤.
将输入直接传递给方法,无需验证.让方法自己处理无效消息.它可以直接向用户发送错误消息,也可以使用回调方法.发送消息后,该方法必须返回或抛出异常以停止处理无效输入.调用类将继续到下一行输入.缺点:此方法现在具有发送错误消息的副作用.
这里适当的策略是什么?请注意,我不认为抛出异常是合适的,因为处理无效输入是应用程序的核心功能,至少在我的情况下.
c# ×2
asp.net-mvc ×1
css ×1
debugging ×1
excel ×1
graphics ×1
html ×1
internal ×1
iphone ×1
java ×1
javascript ×1
mbunit ×1
nunit ×1
pivot-table ×1
python ×1
raphael ×1
richtextbox ×1
sql ×1
string ×1
svg ×1
textbox ×1
validation ×1
wpf ×1