Could not determine data type of parameter $1

Поиск
Список
Период
Сортировка
От Vincent Risi
Тема Could not determine data type of parameter $1
Дата
Msg-id 44EEBC3D.3040303@bbd.co.za
обсуждение исходный текст
Список pgsql-bugs
////////////////////////////

Using the version of the jbdc drive (postgresql-8.1dev-400.jdbc3.jar)
instead of (postgresql-8.1-407.jdbc3.jar) the code
below works. I would like to know if the code is valid or if the driver
has a problem. It fails
at
     ResultSet result = prepared.executeQuery();

////////////////////////////

========================
Extract from DataHandler
========================
...
 import java.text.SimpleDateFormat;

 public static SimpleDateFormat dateTimeFormat = new
SimpleDateFormat("yyyyMMddHHmmss");

 public static java.sql.Timestamp dateTime(String value) throws Throwable
 {
   if (value.length() == 8)
     value += "000000";
   java.util.Date date = dateTimeFormat.parse(value);
   return new java.sql.Timestamp(date.getTime());
 }

==================================
Extract from inherited data record
==================================
...
   public String cashier;
   public String terminalId;
   public String actionDateFrom;
   public String actionDateTo;
   public double receiptTotal;
   public double removalTotal;

=========================================
Function or method where the error occurs
=========================================
...
   public boolean pettyCash() throws Throwable
   {
     String statement =
     "select CashierUserid, CashierTerminalId, ?, ?, 0,
sum(CashierTotalRemoved) "
     +_EOL_+ "from ReceiptRemoval "
     +_EOL_+ "where RemovalType = 'P' "
     +_EOL_+ "and CashierUserid = ? "
     +_EOL_+ "and CashierTerminalId = ? "
     +_EOL_+ "and ActionDate > ? "
     +_EOL_+ "and ActionDate <= ? "
     +_EOL_+ "group by CashierUserid, CashierTerminalId "
     ;
     PreparedStatement prepared = connector.prepareStatement(statement);
     prepared.setTimestamp(1, DataHandler.dateTime(actionDateFrom));
     prepared.setTimestamp(2, DataHandler.dateTime(actionDateTo));
     prepared.setString(3, cashier);
     prepared.setString(4, terminalId);
     prepared.setTimestamp(5, DataHandler.dateTime(actionDateFrom));
     prepared.setTimestamp(6, DataHandler.dateTime(actionDateTo));
     ResultSet result = prepared.executeQuery();
     ResultSetMetaData _rsmd_ = result.getMetaData();
     int _columns_ = _rsmd_.getColumnCount();
     if (_columns_ != 6)
       throw new Exception("Columns Read="+_columns_+" != Expected=6");
     if (!result.next())
     {
       result.close();
       prepared.close();
       return false;
     }
     cashier = result.getString(1);
     terminalId = result.getString(2);
     actionDateFrom = DataHandler.dateTime(result.getTimestamp(3));
     actionDateTo = DataHandler.dateTime(result.getTimestamp(4));
     receiptTotal = result.getDouble(5);
     removalTotal = result.getDouble(6);
     result.close();
     prepared.close();
     return true;
   }

///////////////////////////////////

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Miguel Pedreño Saura
Дата:
Сообщение: Problem at install / uninstall postgresql
Следующее
От: "Caitie Humphrey"
Дата:
Сообщение: BUG #2589: corrupt file