我有一个表,记录链接到父项的子项的历史记录,有两列:
一些示例数据如下所示:
ParentId - ChildId
001 - 001
001 - 001
001 - 001
001 - 002
001 - 002
001 - 002
001 - 003
001 - 003
001 - 003
001 - 003
001 - 004
001 - - 004
001 - 005
001 - 005
001 - 005
001 - 005
我需要为给定的ParentId选择具有最高值ChildId的所有行.所以在上面的例子中,我需要查询返回以下行,给定输入参数'@ parentId = 001':
001 - 005
001 - 005
001 - 005
001 - 005
谢谢你的帮助!
我希望在没有打开的情况下在磁盘上找到图像的高度/宽度,如果可能的话(出于性能原因).
图像的Windows属性窗格包含宽度,高度,位深度等信息,这使我相信它正在某处存储元数据.我如何访问此信息?
我正在编写一个后端程序,telnet到服务器,运行一些命令并保存这些命令的所有输出.像Expect一样的东西.
我想使用一个受到良好支持并使用JDK 6运行的开源解决方案.
到目前为止,我找到了3个选项,并希望能够帮助决定使用哪个(或更好的建议).
commons-net - 这得到了很好的支持,但我无法使用简单的"登录并执行'命令"命令.我更喜欢使用这个库,如果任何人都可以提供一个简单的例子(而不是带有来自用户的输入的示例)我想走那条路.
如果我无法使用commons-net,接下来的两个选项是:
JExpect - 这不是很难使用,我需要的是什么,但支持得有多好?它是否适用于JDK 6,我想是的.
Java Telnet应用程序(jta26) - 这很容易使用,但我不确定它是多么通用.我没有在TelnetWrapper中看到任何设置超时值的地方.自从上次更新网站到2005年以来,我也不确定是否维护此代码.(http://www.javassh.org)
我知道这有些是以意见为导向的,希望SO是一个帮助我做出决定的好地方所以我不会从一条路开始,后来发现它不是我想要的.
谢谢.
我有一个包含因子的数据框.当我使用factor或另一个索引函数创建此数据框的子集时,会创建一个新的数据框.但是,因子变量保留其所有原始级别 - 即使它们不存在于新数据框中.
这在进行分面绘图或使用依赖于因子水平的函数时会产生麻烦.
在我的新数据框中从一个因子中删除级别的最简洁方法是什么?
这是我的例子:
df <- data.frame(letters=letters[1:5],
numbers=seq(1:5))
levels(df$letters)
## [1] "a" "b" "c" "d" "e"
subdf <- subset(df, numbers <= 3)
## letters numbers
## 1 a 1
## 2 b 2
## 3 c 3
# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"
Run Code Online (Sandbox Code Playgroud) 我有一个用户与C#WPF程序一起交互的设备.当用户按下设备上的按钮时,该程序必须发出哔声,指定的时间长度或用户按下按钮的时间,以较短者为准.可用于产生蜂鸣声/音调的唯一扬声器是计算机BIOS扬声器; 我们不能假设其他发言者在附近(并且假设不会有任何其他发言者实际上是安全的).
如何在必要的持续时间内产生连续音?
到目前为止,我发出了许多哔哔声,但不是连续的音调.
首先,启动一个线程:
private void UserControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) {
if(this.Visibility == Visibility.Visible){
mBeepThread = new Thread(new ThreadStart(ProduceTone));
mBeepThread.Name = "Beep Thread";
mBeepThread.Start();
}
}
Run Code Online (Sandbox Code Playgroud)
线程本身:
bool mMakeTone = false;
private void ProduceTone(){
while(this.Visibility == Visibility.Visible){
if(mMakeTone ){
Console.Beep();
}
else{
Thread.Sleep(10);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在按下按钮的持续时间内,将mMakeTone布尔值翻转为true,直到设备本身指定的时间.
我怀疑它只是对上面的Console.Beep()行的快速更改,但我不确定它会是什么.
根据我在这里关于Disposable对象的另一个问题,我们应该在using块结束之前调用Close()吗?
using (SqlConnection connection = new SqlConnection())
using (SqlCommand command = new SqlCommand())
{
command.CommandText = "INSERT INTO YourMom (Amount) VALUES (1)";
command.CommandType = System.Data.CommandType.Text;
connection.Open();
command.ExecuteNonQuery();
// Is this call necessary?
connection.Close();
}
Run Code Online (Sandbox Code Playgroud) 我们有一个"打印引擎",它基本上选择了针对文件运行的预定义任务,这些"任务"是.NET 2.0 - 3.5(在C#中)命令行应用程序.
它所做的就是一个接一个地运行,并且我们没有在内部开发的应用程序,它们运行得非常快,通常为10-30毫秒.
但是,我们的.NET应用程序通常需要1-3秒,当你处理每个文件和几个文件的几个可执行文件时,所有文件同步执行,我们最终会有很长的等待时间.
通常,这些应用程序正在进行一些数据库工作和一些非常基本的文件修改(纯文本内容).我们甚至已经删除了一些应用程序,以便查看是否只是.NET Framework的开销减慢了所有内容,并且每个调查过它的人都刚刚得出结论
".NET速度很慢,并没有以这种方式执行."
我想知道这是否属实,以及我可以使用哪些技术来追踪问题或缓解滞后.我尝试过使用分析器,但到目前为止我还没有看到过会重复执行命令行.NET应用程序,这就是我们的工作.大多数人只想运行一次可执行文件并附加到它来对其进行分析.
理想情况下,我们希望完全选择不使用打印引擎并开发我们自己的更高效的引擎,但这不会发生.
这样做有什么不同吗?
Field field = something.getSomethingElse().getField();
if (field == 0) {
//do something
}
somelist.add(field);
Run Code Online (Sandbox Code Playgroud)
与
if (something.getSomethingElse().getField() == 0) {
//do something
}
somelist.add(something.getSomethingElse().getField());
Run Code Online (Sandbox Code Playgroud)
通过getter引用字段会导致性能损失,还是与引用指定变量相同?我知道变量只是对内存空间的引用,因此getter应该是另一种获取内存空间的方法.
请注意,这是一个学术问题(只是好奇的学校),而不是一个实际问题.
在SQL数据库中处理并发更新的常用方法是什么?
考虑一个简单的SQL模式(约束和默认值未显示..)之类的
create table credits (
int id,
int creds,
int user_id
);
Run Code Online (Sandbox Code Playgroud)
目的是为用户存储某种信用,例如stackoverflow的声誉.
如何处理该表的并发更新?一些选择:
update credits set creds= 150 where userid = 1;
在这种情况下,应用程序检索当前值,计算新值(150)并执行更新.如果其他人同时做同样的事情,那么这就是灾难.我猜测包装当前值的撤销和事务中的更新将解决这个问题,例如,Begin; select creds from credits where userid=1; do application logic to calculate new value, update credits set credits = 160 where userid = 1; end;在这种情况下,您可以检查新信用是否<0,如果负信用没有意义,则将其截断为0.
update credits set creds = creds - 150 where userid=1;
这种情况不需要担心并发更新,因为数据库负责一致性问题,但是有一些缺陷,即信用很高兴会变成负面的,这可能对某些应用程序没有意义.
那么简单地说,处理上面提到的(非常简单的)问题的公认方法是什么,如果db抛出错误怎么办?
我有一个NSString,我在开始和结束时修剪空白区域.现在我想让字符串的第一个字母或字母显示为大写.
有没有短片或我需要拿第一个字母表并将其转换为我自己的资本.
TNX.