I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Fx. vil jeg i første omgang gerne kunne hardcode en dato (timestamp) variabel fx: '2005-11-25 01:00:00', da dette format (YYYY-MM-DD xx:xx:xx), er den måde min MySQL db vil have datoen i. Problemet er bare at jeg ikke kan få hardcodet sådan en variable. Hvordan gør jeg dette?
PreparedStatement preparedStatement = connection.prepareStatement("SELECT ID AS INSPECTIONID, PROPERTYID, CUSTOMERID, DEALERID, STARTTIME, ENDTIME FROM INSPECTION WHERE PROPERTYID = ? AND STARTTIME LIKE '?%'"); preparedStatement.setInt(1, this.propertyID); preparedStatement.setDate(2, this.startDate);
Date date; date = SimpleDateFormat.parse("2005-11-28 14:00:00");
Fejler... Cannot find symbol symbol : variable SimpleDateFormat location: class ControllerServlet date = SimpleDateFormat.parse("2005-11-28 14:00:00"); 1 error
\ControllerServlet.java:116: doReturnReservedInspections(java.sql.Date,int) in classes.HipDAO cannot be applied to (java.util.Date,int) inspections = a.doReturnReservedInspections(date, propertyID);
Oh, jeg er kommet en del videre, men nu har jeg et andet problem.
Det drejer sig om at lave sql LIKE %?% i mine queries, hvordan skriver man dem, når man gør brug af prepared statements.
fx har jeg en sql query: SELECT ID AS INSPECTIONID, PROPERTYID, CUSTOMERID, DEALERID, STARTTIME, ENDTIME FROM INSPECTION WHERE PROPERTYID = 1 AND STARTTIME LIKE '2005-11-06%'
Som jeg ikke kan skrive om til -> SELECT ID AS INSPECTIONID, PROPERTYID, CUSTOMERID, DEALERID, STARTTIME, ENDTIME FROM INSPECTION WHERE PROPERTYID = ? AND STARTTIME LIKE ?%
For det virker ikke med mine prepared statements. preparedStatement.setInt(1, this.propertyID); preparedStatement.setDate(2, this.startDate);
Men hvis jeg bruger WHERE STARTTIME = '2005-11-06' så får jeg ingen ud, da det er timestamps, jeg skal nemlig have alle poster med '2005-11-06' datoen.
Og i det hele taget, hvordan virker prepared statements med like?
SELECT ID AS INSPECTIONID, PROPERTYID, CUSTOMERID, DEALERID, STARTTIME, ENDTIME FROM INSPECTION WHERE PROPERTYID = 1 AND STARTTIME BETWEEN '2005-11-06 00:00:00' AND DATEADD(d, 1, '2005-11-06 00:00:00')
Burde vel virke...jeg prøver denne, når jeg kommer hjem. Håber at DATEADD også virker på MySQL 4.0.
java.util.Date dte = df.parse(selectedDate);<---- Denne linje få min debugger til at hoppe ned i noget andet, og det er ikke en gang i min catch. java.sql.Date date = new java.sql.Date(dte.getTime());
Jeg ved ikke hvad der er galt, seovom jeg debugger og har sat breakpoint udfor disse to linjer: java.util.date d = df.parse(selectedDate); java.sql.TimeStamp ts = new java.sql.TimeStamp(d.getTime());
Så lige nøjagtigt når den når første linje (java.util.date d = df.parse(selectedDate);)
Så hopper helt ud af min metode. Jeg ved ikke hvad, det er der driller.
Hvordan får jeg dags dato som streng i formatet ("yyyy-MM-dd")? Har prøvet følgende, men det virker ikke....
if(selectedDate==null){ //Today date java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime()); java.text.DateFormat df; selectedDate = df.parse(date); }
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); // format java.util.Date d = new java.util.Date(); // nu som binær tid String s = df.format(d); // nu som tekst streng
Så åbner jeg nemlig et spørgsmål på 200 point omkring noget jstl. Det drejer sig om en speciel løkke i jstl hvori der skal være noget tekstbehandling og tjeks på tider.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.