如何获取远端数据库的系统日期!!!(100分)

  • 主题发起人 主题发起人 金洪
  • 开始时间 开始时间

金洪

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟现在正在做一项目,需要判断客户机当前日期与数据库端系统日期是否相等,那位大哥
能够帮帮忙!以下是我的想法:
String sql="select getdate() as now from table";
rs.executeQuery(sql);(rs为结果集)
由于table表中并没有now字段,所以无法通过rs.getString("now").方法取出日期。
希望大虾们 HelpHelp!!![?]
 
就用select getdate() as now 就可以了
 
To fxjpost:
我是想把“select getdate() as now”取出的结果赋给以变量!问题的关键是如何从结果
集中取出数据!!!
 
用adoQuery.fields[0].asstring
 
To sgs125:
Sorry,忘了说明,是在Java环境下开发的!
 
rs = stmt.exesql("select sysdate from dual");
datetime = rs.getDate(0);
 
as now似乎不好,能不能不用now这么敏感的字段名
 
To 沙隆巴斯的主人:
大哥,能不能说清楚一点!
 
有个取服务器系统时间的API函数
 
To 沙隆巴斯的主人:
sysdate是表dual中的一个字段还是系统常量?
我试过下面的方法
rs.executeQuery("select getdate() as now from table");
datetime=rs.getDate(0);
但是datetime=rs.getDate(0);执行时出现异常!
 
to 金洪
sysdate 是ORACLE中的一个函数
 
TIdDayTime控见
 
To 沙隆巴斯的主人:
既然sysdate是ORACLE中的一个函数,那么我采用的方法和你的想法一样!
但是执行datetime=rs.getDate(0);时会出现异常:由于当前未访问行,应此结
果集为IDLE!
看来,还是不行啊!

 
试试这样:
rs.executeQuery("select getdate() as now from table");
rs.next;
datetime=rs.getDate(0);
 
To 沙隆巴斯的主人:
这次提示的异常是无效的列索引值!
 
你先检查一下rs里面是不是有数据
 
To 沙隆巴斯的主人:
在执行 datetime=rs.getDate(0);之前,通过if(rs.next())判断有数据!但
一执行 datetime=rs.getDate(0);就出现异常!
 
rs.movefirst()
 
try
with AQuerydo
begin
SQL.Text := 'select sysdate from TableName';
Open;
Result := Trunc(FieldByName('SYSDATE').AsDateTime);
close;
end;
except
AQuery.close;
Result := Date;
end;
 
错在:
rs.getDate(0);
应该是
rs.getDate(1);
是从1开始数的
下面是我测试成功的代码
import java.sql.*;
import java.io.*;
public class sqlTest
{
public void showUser()
{
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection DB_conn = DriverManager.getConnection("jdbc:oracle:thin:user/passwd@192.168.0.18:1521:ora1");
Statement stmt = DB_conn.createStatement();
ResultSet rs = stmt.executeQuery ("select sysdate from dual");
if (rs.next())
System.out.println(rs.getDate(1));

} catch (SQLException e)
{
throw new RuntimeException("SQL Exception " + e.getMessage());
}

}

public static void main(String[] args)
{
sqlTest sqlTestObj = new sqlTest();
sqlTestObj.showUser();

}
}
 
后退
顶部