Re: macaddr data type and prepared statements
От | Dave Cramer |
---|---|
Тема | Re: macaddr data type and prepared statements |
Дата | |
Msg-id | 881893AA-ECD5-4E59-AC3B-3A473193C868@fastcrypt.com обсуждение исходный текст |
Ответ на | Re: macaddr data type and prepared statements (Steve Foster <s.p.foster@leeds.ac.uk>) |
Ответы |
Re: macaddr data type and prepared statements
|
Список | pgsql-jdbc |
Steve, Prepared statements bind the in params to the type. which is why it won't work. if you used a statement and did what you did below it would work. You can extend PGobject to create a PGMacaddr object to get it to work with prepared statements Dave On 4-Aug-08, at 10:46 AM, Steve Foster wrote: > Dave, > > Yes its of type macaddr, if I build the statement manually (with all > the quoting uglyness) then its fine, e.g. > > create table test (a serial, b macaddr); > > insert into test (b) values ('00:00:00:00:00:00'); > insert into test (b) values ('00:00:00:00:00:01'); > insert into test (b) values ('00:00:00:00:00:02'); > > Cheers > > Steve > > Dave Cramer wrote: >> Steve, >> >> >> What are the column types in the table. If it is macaddr type then >> this is expected behaviour. >> >> Dave >> On 4-Aug-08, at 9:28 AM, Steve Foster wrote: >> >>> Hi All, >>> >>> I'm trying to bulk load some MAC addresses using a prepared >>> statement. But I keep on getting an error about incorrect datatype >>> (complains that I'm trying to insert "character varying"). Bellow >>> is an example of the code that I'm using: >>> >>> try { >>> >>> Class.forName("org.postgresql.Driver"); >>> conn = DriverManager.getConnection(jdbc_url, jdbc_user, >>> jdbc_pass); >>> >>> PreparedStatement stmt = conn.prepareStatement("insert >>> into log (date, time, mac, network) values (?,?,?,?)"); >>> >>> while (inputLineIterator.hasNext()) { >>> String[] line = inputLineIterator.next(); >>> if (line == null) { >>> continue; >>> } >>> stmt.setDate(1, new >>> java.sql.Date( dfmt.parse(line[0]).getTime()) ); >>> stmt.setDate(2, new >>> java.sql.Date( tfmt.parse(line[1]).getTime()) ); >>> stmt.setString(3, line[2]); >>> stmt.setString(4, line[3]); >>> stmt.execute(); >>> } >>> >>> stmt.close(); >>> } >>> >>> Any recommendations? >>> >>> Cheers >>> >>> Steve >>> >>> -- >>> Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) >>> To make changes to your subscription: >>> http://www.postgresql.org/mailpref/pgsql-jdbc >> >> > > > -- > Steve Foster Email: s.p.foster@leeds.ac.uk > Unix team Phone: 0113 343 7225 > Information Systems Services Fax: 0113 343 5411 > University of Leeds > Leeds LS2 9JT > > -- > Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-jdbc
В списке pgsql-jdbc по дате отправления: