2016-09-29 10 views
-1

私は私がUIまたはいくつかの定数( "20-9-2016")から**orderName**lastDateを渡しますどのようにoracle/sqlクエリに日付nのJavaを解析する?

String query = "Select * from Orders where ordername = ? and orderDate > SYSDATE - 2 "; 

のようなクエリを持っています。

orderDate = SYSDATE - 2 - "2"ではなくlastDateを送信します。

正しいですか? SYSDATE Oracle関数と定数の前に "2"。現在は "2"をユーザー入力できます。 Javaで

String query = "Select * from Orders where ordername = ? and orderDate > SYSDATE - ? "; 

をクエリを作成する方法

は、クエリの上に正しいですか?クエリの書き方

public class CheckOrders extends MappingSqlQuery<Object>{ 
     public PendingOrderExists() { 
      super(dataSource, queryConfig 
        .getProperty("query")); 
      super.declareParameter(new SqlParameter("ORDERNAME", Types.VARCHAR)); 
      //orderdate ? how to declare parameter here 
      compile(); 
     } 
} 
+0

を作品

希望がORDERNAME =とorderDateで= SYSDATE受注からこの '文字列のクエリ=「セレクト*をお試しください"; ' –

+0

あなたはorderDate =を使うことはできませんか? Javaのサイズでパラメータを計算する? – StanislavL

+0

申し訳ありませんが、私のクエリは "String query =" order * from order? orderDate> SYSDATE - ? 「;。。 – Sri

答えて

1

for sysdate-? ?パラメータは、java.util.Dateクラスの代わりにjava.sql.Dateクラスのオブジェクトに設定されます。 java.sql.Dateはjava.util.Dateを継承します。 java.sql.Date(long time) ここでlongは、jan1,1979から経過したミリ秒数です。

GregorianCalendar gc=new GregorianCalendar(2000, 25, 2); 

java.util.Date dt=gc.getTime();long lg=dt.getTime(); java.sql.Date sqldt=new java.sql.Date(lg); 'のPreparedStatementインスタンスのSETDATE()メソッドで

通過sqldtオブジェクト。 ?TO_DATE( 'DD-M-YYYY'?) - これは


[email protected]

関連する問題