У меня есть процедура MSSQL:
my_proc
Я получаю данные из java
String sql = "exec my_proc '2016-01-01','2016-01-20','2016-01-01'";
stmt = connection.prepareStatement(sql);
rs = stmt.executeQuery();
и получите все данные в порядке!
но если я использую
String msisdn, String startDate, String endDate
String sql = "exec my_proc ?,?,?";
stmt = connection.prepareStatement(sql);
stmt.setString(1, msisdn);
stmt.setString(2, startDate);
stmt.setString(3, endDate);
rs = stmt.executeQuery();
Я получаю ошибку:
com.microsoft.sqlserver.jdbc.SQLServerException: Error converting data type varchar to datetime.
В процедуре у меня есть переменные:
@Startdtin datetime,
@Enddtin datetime,
@msisdnin varchar(18)
Я пробовал использовать
stmt.setTimestamp(2, startDate); //startDate - convert to Timestamp
и
stmt.setDate(2, startDate); //startDate - convert to Date (sql and util)
Не помогло. Как перейти дату на PreparedStatement
correctly`?
startDate
типаString
? - person SatyaTNV   schedule 12.02.2016startDate
? - person khelwood   schedule 12.02.2016