我是Java初学者,但我认为在使用try-catch-finally时我不必使用声明异常throws SQLException.但是,如果我不使用它,编译器会给我错误:
"未报告的异常java.sql.SQLException;必须被捕获或声明被抛出".
我包含了一个catch,所以我不确定为什么会出现这种错误.
public static ResultSet getResultSet ( String query )
{
dbConn = getConnection();
try
{
stmt = dbConn.createStatement( );
ResultSet rs = stmt.executeQuery( query );
return rs;
}
catch (SQLException ex)
{
return null;
}
finally
{
stmt.close();
dbConn.close();
}
}
Run Code Online (Sandbox Code Playgroud) 使用下面的XML,我需要弄清楚哪个人在每个站点工作的时间更长.例如,在下面的XML中,人1在站点1中工作8小时但是人2工作仅6小时.因此,结果应包含转换后的XML中的person 1和site 1.如果小时数相等,请选择第一个人.
编辑:我希望使用XSLT 1.0实现.
<root>
<WorkSite Person="P1" Site="S1">
<Hours>8</Hours>
</WorkSite>
<WorkSite Person="P1" Site="S2">
<Hours>2</Hours>
</WorkSite>
<WorkSite Person="P1" Site="S3">
<Hours>9</Hours>
</WorkSite>
<WorkSite Person="P2" Site="S1">
<Hours>6</Hours>
</WorkSite>
<WorkSite Person="P2" Site="S2">
<Hours>10</Hours>
</WorkSite>
<WorkSite Person="P2" Site="S3">
<Hours>2</Hours>
</WorkSite>
</root>
Run Code Online (Sandbox Code Playgroud)
XSLT转换结果应如下所示:
<root>
<WorkSite Person="P1" Site="S1"/>
<WorkSite Person="P2" Site="S2"/>
<WorkSite Person="P1" Site="S3"/>
</root>
Run Code Online (Sandbox Code Playgroud) 我有两个清单:
List<string> _list1;
List<string> _list2;
Run Code Online (Sandbox Code Playgroud)
我需要在_list1上添加所有_list2不同的项目...
我怎么能用LINQ做到这一点?
谢谢
我试图在ICSharpCode TextEditor中选择文本行.以及使文本框转到特定行.该应用程序是在Windows 2010中使用C#构建的Windows窗体应用程序.
我使用文本编辑器的原因是代码突出显示和行号等.
我真的没有太多使用Windows窗体的经验,所以任何帮助将不胜感激.我的守则如下:
textEditorControl.Text = "long file string with line breaks";
textEditorControl.VRulerRow = 10; //Example row selection
Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,用户可以根据GPS位置设置警报.我只想在任何时候激活1个警报.因此,当用户设置第二个警报时,我想取消第一个警报的通知(然后为第二个警报设置新的通知).
现在,我的通知继续堆叠(因为我无法删除它们,所以它们都是活动的).这是我的代码,我试图删除警报和通知:
// Stop the location alarm activity
Intent intentAlarmService_delete = new Intent(v.getContext(), AlarmService.class);
stopService(intentAlarmService_delete); // I think this calls onDestroy() in AlarmService class ...
mNtf = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mNtf.cancelAll();
Intent alarmIntent2 = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);
PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1,
alarmIntent2, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntentAlarm.cancel();
Run Code Online (Sandbox Code Playgroud)
这是我的AlarmService.class中的onDestroy()函数(我不确定何时调用它...)
public void onDestroy(){
super.onDestroy();
mNtf.cancel(NOTIFICATION_ID1);
Intent alarmIntent = new Intent(getApplicationContext(), OneTimeAlarmReceiver.class);
PendingIntent pendingIntentAlarm = PendingIntent.getBroadcast(getApplicationContext(), PENDING_INTENT_REQUEST_CODE1,
alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
pendingIntentAlarm.cancel();
Intent intentAlarmService = new Intent(getApplicationContext(), AlarmService.class);
stopService(intentAlarmService);
mNtf.cancel(NOTIFICATION_ID1);
mNtf.cancelAll();
}
Run Code Online (Sandbox Code Playgroud)
然后,这就是我设置新警报和通知的方式:
Intent intentAlarmService2 = new Intent(v.getContext(), …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Orange) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Orange, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Blue) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Blue, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Shift) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Shift, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Control) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Control, 0, 0);
...
Run Code Online (Sandbox Code Playgroud)
我想重构将键/函数定义与动作分开的代码.Key.xxx和Function.xxx不是同一类型.
例如:在Python中,我可以简单地执行以下操作:
keys = (
( Key.Orange, Function.Orange ),
( Key.Blue , Function.Blue ),
( Key.Shift , Function.Shift ),
...
)
psi_key = PsionTeklogix.Keyboard.Keyboard
for key, func in keys:
if psi_key.GetModifierKeyState(key) == KeyState.Lock):
psi_key.InjectKeyboardCommand(func, 0, 0)
Run Code Online (Sandbox Code Playgroud)
在C#中做什么是"正确的方法"?
我想在右侧创建一个带有提交按钮的输入框.它们之间应该跨越屏幕的宽度.目前我有:
LinearLayout row= new LinearLayout(context);
row.setOrientation(HORIZONTAL);
row.setGravity(Gravity.RIGHT);
EditText input = new EditText(context);
Button submit = new Button(context);
submit.setText("Submit");
row.addView(submit);
row.addView(input,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
myView.addView(row,LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
Run Code Online (Sandbox Code Playgroud)
这导致了正确的空间分布:提交按钮占用了所需的空间,输入按钮占用剩余空间,但是它们是错误的方式(提交按钮在左侧,尽管设置了重力).如果我取消重力并反转将元素添加到行的顺序,则输入框占据屏幕的整个宽度,并且提交按钮不可见.我究竟做错了什么?
我想在一个应用程序中使用WPF.我想用C++编写它.是否必须管理应用程序?我知道我可以将管理与非托管混合使用.我想知道我是否可以让整个应用程序不受管理.
我如何设计这个控件?
我试过这个,但它不起作用.
<asp:FileUpload id="upload_tb" runat="server" />
#upload_tb
{
width: 500px;
}
Run Code Online (Sandbox Code Playgroud)
另外,我如何设置此控件附带的浏览按钮的样式?如果不可能有其他替代方案吗?
编辑:
我检查了生成的源代码,asp.net给了控件这个id ctl00_main_content_upload_tb
我把CSS改成了
#ctl00_main_content_upload_tb
{
width: 500px;
}
Run Code Online (Sandbox Code Playgroud)
但它没有拉伸控制.它在控件右侧添加填充.有任何想法吗?
我无法让MPMoviePlayerController在设备上工作.它在模拟器中运行良好,播放五秒钟视频,然后将适当的回调(myMovieFinishedCallback:)发送到视图控制器.当它在设备上运行时,电影永远不会出现,即使我可以毫无问题地追踪[player play].myMovieFinishedCallback:永远不会被调用,也没有错误.正在复制所有正确的资源.知道发生了什么事吗?
这是我用来创建和使用播放器的代码,
更新:我已切换到使用MPMoviePlayerViewController.在设备上电影仍然无法播放,我只是无限期地获得旋转进度轮.即使我将播放器设置为MPMovieControlStyleNone,控件也会短暂闪烁 - 有人知道如何解决这个问题吗?电影是五秒钟,大约1.5 MB,如果这有任何区别.
更新:其他电影文件工作,但我无法弄清楚如何使我的工作.我已经尝试过它作为.mov和.mp4,设置似乎是正确的.知道什么会导致MPMoviePlayer仅在设备上永久显示进度轮吗?
- (void) playMovie
{
NSString *url = [[NSBundle mainBundle]
pathForResource:@"myMovie"
ofType:@"mp4"];
MPMoviePlayerViewController *playerViewController =
[[MPMoviePlayerViewController alloc]
initWithContentURL:[NSURL fileURLWithPath:url]];
playerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone;
playerViewController.moviePlayer.scalingMode = MPMovieScalingModeFill;
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:[playerViewController moviePlayer]];
playerViewController.view.frame = movieView.frame;
[movieView addSubview:playerViewController.view];
//---play movie---
MPMoviePlayerController *player = [playerViewController moviePlayer];
[player play];
}
Run Code Online (Sandbox Code Playgroud)