Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment changer un String[] vers un java.sql.Array...

5 réponses
Avatar
Patrick Gelin
Ce cast me résiste. Quelqu'un a t-il une idée sur la question?

Merci pour vetre aide.
--

5 réponses

Avatar
damien guerin
java.sql.Array est une interface.... Donc, tu vas avoir du mal à faire
ton cast !
Ce n'est pas plutôt java.lang.reflect.Array ?
Avatar
Patrick Gelin
Tu as raisons, mais je ne comprends par car l'API de la l'interface
java.sql.PreparedStatement est claire:

java.sql.PreparedStatement::setArray(int i, java.sql.Array x)

Mais alors comment font ils pour caster un String[] vers java.sql.Array?

damien guerin wrote:

java.sql.Array est une interface.... Donc, tu vas avoir du mal à faire
ton cast !
Ce n'est pas plutôt java.lang.reflect.Array ?


--

Avatar
damien guerin
Un object de type java.sql.Array ne contient pas à proprement parler
de données. C'est une sorte de pointeur vers les données contenues
dans le ARRAY SQL.
Je ne pense pas que ce que tu cherches à faire soit possible.
Peux-tu expliquer quel est ton besoin réel?
Avatar
Patrick Gelin
Merci pour ton aide Damien. Voici mon code, je veux insérer un
enregistrement dans un SGBD, depuis le javabean news:

private void doInsertNews(HttpSession session){
Connection conn = null;
PreparedStatement pstmt = null;

try {
conn = dataSource.getConnection();
if (conn==null) throw (new Exception());

NewsModel news = (NewsModel)session.getAttribute("news");
if (news ==null) throw (new Exception());

pstmt = conn.prepareStatement(sqlInsertNews);
pstmt.setString(1, news.getId());
pstmt.setString(2, news.getState());
pstmt.setArray(3, news.getSections());
...

La dernière ligne pose problème car news.getSections() est un String[] alors
que pstmt.setArray attend un java.sql.array...


damien guerin wrote:

Un object de type java.sql.Array ne contient pas à proprement parler
de données. C'est une sorte de pointeur vers les données contenues
dans le ARRAY SQL.
Je ne pense pas que ce que tu cherches à faire soit possible.
Peux-tu expliquer quel est ton besoin réel?


--

Avatar
damien guerin
Je ne penses pas que ce soit possible aussi simplement...
Regarde là :
http://archives.postgresql.org/pgsql-jdbc/2004-11/msg00141.php