假设一个表结构MyTable(KEY, datafield1, datafield2...).
通常我想要更新现有记录,或者如果新记录不存在则插入新记录.
实质上:
IF (key exists)
run update command
ELSE
run insert command
Run Code Online (Sandbox Code Playgroud)
写这个的最佳表现方式是什么?
我正在向要写入的方法发送一个流,在这些方法中我使用的是二进制阅读器/ wrtier.当读取器/写入器被处理时,using或者仅在未被引用时,流也被关闭?
我会发送一个BinaryReader/Writer,但我也在使用StreamReader(也许我应该绕过它.我只使用GetLine和ReadLine).如果每次作家/读者关闭时关闭流,这是非常麻烦的.
class A {};
int main() {
A() = A();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么这段代码会编译?不应该有一些错误,在赋值运算符的左侧应该放置左值?是A()左值?g ++ 4.7版本
看到Java没有可空类型,也没有TryParse(),如何在不抛出异常的情况下处理输入验证?
通常的方式:
String userdata = /*value from gui*/
int val;
try
{
val = Integer.parseInt(userdata);
}
catch (NumberFormatException nfe)
{
// bad data - set to sentinel
val = Integer.MIN_VALUE;
}
Run Code Online (Sandbox Code Playgroud)
我可以使用正则表达式来检查它是否可解析,但这似乎也是很多开销.
处理这种情况的最佳做法是什么?
编辑:理由:关于异常处理,有很多关于SO的讨论,一般的态度是异常应仅用于意外情况.但是,我认为糟糕的用户输入是预期的,并不罕见.是的,这确实是一个学术观点.
进一步编辑:
一些答案证明了SO究竟出了什么问题.你忽略了被问到的问题,并回答了与之无关的另一个问题.问题不是要求层之间的过渡.如果数字是不可解析的,那么问题不在于询问返回什么.如你所知,val = Integer.MIN_VALUE; 对于完全无上下文的代码片段来自应用程序的应用程序来说,它是完全正确的选项.
我有以下代码......
if (Price_Foreign != Double.NaN)
{
output.Append(spacer);
output.Append(String.Format("{0,-10:C} USD",Price_Foreign));
}
Run Code Online (Sandbox Code Playgroud)
哪个输出:
NaN USD
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
我正在使用Double.NaN来指示该值不存在,并且不应该输出.
这是一个典型的多选题考试,假设一个问题格式:
<question qid='1'>
<stem>What is your name?</stem>
<choice value = 'a'>Arthur, King of the Britons</choice>
<choice value = 'b'>There are some who call me ... Tim!</choice>
<choice value = 'c'>He is brave Sir Robin, brave Sir Robin, who-- Shut up! Um, n-- n-- n-- nobody, really. I'm j-- j-- j-- ju-- just, um-- just passing through.</choice>
<choice value = 'd'>Sir Galahad... the Chaste.</choice>
<choice value = 'e'>Zoot... Just Zoot.</choice>
</question>
Run Code Online (Sandbox Code Playgroud)
而且我已经将所有这些都映射到适当的样式与网络的单选按钮.
现在,我需要制作一个可打印的测试版本.这实际上更简单,因为我不需要包括无线电,只需'___'作为复选标记.主要问题是如何防止问题分裂.
我想在消息框中显示帮助链接.默认情况下,文本显示为不可选字符串.
假设我有这样一个类:
class ApplicationDefs{
public static final String configOption1 = "some option";
public static final String configOption2 = "some other option";
public static final String configOption3 = "yet another option";
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序中的许多其他类都使用这些选项.现在,我想单独更改其中一个选项并仅部署已编译的类.但是,如果这些领域在消费者类中被列入,这就变得不可能了吗?
是否有任何选项可以禁用编译时常量的内嵌?
使用英语查询部署SQL Server 2000.那时,我还年轻,不熟悉SQL,所以我跳过那一章.现在,经过多年的努力,我们再次想出了一个可以理解简单用户问题的逻辑程序.
还有其他选择吗?英语查询现在在哪里?
我注意到这个问题在我做的大多数事情中发生了很多,所以我认为必须有一个设计模式.
基本上,如果抛出异常,尝试解决问题并重试.如果我把它放在try中,它所做的就是捕获异常,但我想重试它正在做的事情,如果再次失败,再次重试一定次数.
这种东西有共同的模式吗?