Die übergabe von array-parameter in Anweisung vorbereiten - immer “java.sql.SQLFeatureNotSupportedException"
Ich bin mit java-Fehlermeldung.sql.SQLFeatureNotSupportedException meiner Anweisung vorbereiten. Ich bin mit Mysql-Datenbank.
Unten ist mein code.
class tmp {
public static void main(String arg[]) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/sample", "root", "root");
PreparedStatement pst = conn
.prepareStatement("select * from userinfo where firstname in(?)");
String[] Parameter = { "user1", "Administrator" };
Array sqlArray = conn.createArrayOf("VARCHAR", Parameter);
pst.setArray(1, sqlArray);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für
Mysql
-Einstellung array ist nicht möglich in Mysql.
Stattdessen können Sie eine Abfrage (?,?,..) im loop und den gleichen Weg zum einstellen der Werte.
also Abfrage wird
- und pass-Werte auch mithilfe der Schleife.
Für
Oracle
-MySQL
oderOracle
?Fehlermeldung ist sehr klar. Und
MySQL
unterstützt keine benutzerdefinierten Datentypen.Derzeit MySQL unterstützt nur:
Oder nutzen Sie die einzelnen input-Werte als eine Reihe von Werten von
IN
Funktion inMySQL
.Ändern Sie Ihre
JAVA
code wie folgt:firstname
Spalte. Was ist der Datentyp?user1
undAdministrator
gehen kann, wie zwei verschiedene Datensätze?