我有一个名为"WrkHrs"的列,数据类型是时间(hh:mm:ss).我想总结一下员工的工作时间.但是因为它的时间数据类型sql server不让我使用像sum(columnname).
如何总结sql查询中的时间数据类型?
我试图解析一个String(YYYY-MM-dd HH:mm)Date,但是错误的日期比预期的错.
码:
Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
newDate = df.parse(dateTime);
} catch (ParseException e) {
throw new InvalidInputException("Invalid date input.");
}
Run Code Online (Sandbox Code Playgroud)
生产:
美国东部时间2012年12月30日08:30(错误)
我试过设置Lenient但没有运气.
更新
感谢Sudhanshu的回答,它帮助我解决了Java转换问题.当我从上面的代码输入返回的日期到数据库时,我正确地得到了日期,但时间总是如此00:00.
ps.setDate(3, new java.sql.Date(app.getDate().getTime()));
Run Code Online (Sandbox Code Playgroud) 我有一个带有几个查询和表的ORACLE SQL sctipt,我想在程序开始时从我的java程序运行该脚本,以确保一切都在正确的位置.我发现了一个运行脚本的代码,但由于某些原因它不起作用.任何人都可以提供样品,以便我可以遵循它.
这是我发现的:
try {
String line;
Process p = Runtime.getRuntime().exec ("psql -U sas -d oracle -h @localhost -f Lab_05_Tables.sql");
BufferedReader input =new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
}
catch (Exception err) {
err.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
错误
java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system
cannot find the file specified
Run Code Online (Sandbox Code Playgroud) 我在java项目中有一个jsp页面,我从下面的代码中使用来自url的隐藏jsp扩展,但也在url中加载我的页面和jsp扩展名.怎么预防这个?我的代码:
<servlet>
<servlet-name>myTest</servlet-name>
<jsp-file>/testing.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>myTest</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
和url测试是:localhost/testing.jsp,我的测试页面是访问.
我想在用户尝试删除详细视图中的记录时提示用户进行确认?我有命令提交showDeletebutton设置为true.
我找到了如何对gridview进行确认,但是如何修改以匹配详细视图?
码:
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
// loop all data rows
foreach (DataControlFieldCell cell in e.Row.Cells)
{
// check all cells in one row
foreach (Control control in cell.Controls)
{
// Must use LinkButton here instead of ImageButton
// if you are having Links (not images) as the command button.
ImageButton button = control as ImageButton;
if (button != null && button.CommandName == "Delete")
// Add delete confirmation
button.OnClientClick = "if …Run Code Online (Sandbox Code Playgroud) 我有一个带有元素列表的JComboBox.所以程序基本上做的是用户从组合列表中选择一个元素,然后单击一个按钮在文本区域中显示所选元素.
到目前为止,一切都很完美,但问题是在用户点击按钮后我希望组合框返回到第一个元素并显示第一个元素.如何显示组合框的第一个元素...... ????
我试图在一段有限的时间内将日期增加1.我能够将当前日期增加1:
Select *, DATEADD(d,1, GETDATE()) From MyTable;
Run Code Online (Sandbox Code Playgroud)
但我想增加每行中的时间日期,如:
ID Date
1 2012-05-14
2 2012-05-15
3 2012-05-16
Run Code Online (Sandbox Code Playgroud)
怎么办呢?
我要求我的ASP.NET网站要求我让用户手动输入特定表的主键,如果用户输入了数据库中已存在的主键,系统应该通知用户"小学已经存在"或类似的东西.
我想让用户输入主键,当他输入已经存在的键时,系统将抛出主键约束违例的异常.因此,我将捕获该异常,并且在catch块中,我将显示一条错误消息,通知用户主键的重复.但是,我不确定这是一种正确的方法,还是有任何标准方法可以做到这一点?
以下代码处理按钮单击事件.当用户第一次点击时,它将标签设置为"第一次",当用户第二次点击时,它将标签设置为"第二次".但它不能正常工作.当我第一次点击它时,它将标签设置为"第一次",这是正确的,但是当我第二次点击时,没有任何事情发生.
我的代码:
int counter=0;
protected void btnCompTagUpdate_Click(object sender, EventArgs e)
{
if (counter == 0)
{
lable1.Text="First Time";
counter++;
}
else if (counter == 1)
{
lable1.Text="Second Time";
counter--;
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
我编写了以下Query以查看是否存在行,如果Row不存在则更新else则不执行任何操作.
我的代码:s
UPDATE [Computer] SET [ComputerTag] = @ComputerTag, [CustID] = @CustID,
[PcModel] = @PcModel, [ServicetagNo] = @ServicetagNo,
WHERE [ComputerID] = @ComputerID
AND NOT EXIST ( SELECT [ComputerTag] FROM [Computer]
WHERE [ComputerTag] = @ComputerTag)
Run Code Online (Sandbox Code Playgroud)
但它显示错误"函数参数列表中的错误:'SELECT'无法识别.函数参数列表中出错:'EXIST'无法识别".我怎样才能解决这个问题?
更新:
Thanx为您的答案,但现在它显示不同类型的错误"不支持复合语句SQL构造或语句".这是为什么?