Jestem nowy w programowaniu Java. Chcę zbudować ciąg zapytania SQL przy użyciu String.format
. I już używać String.format
w C# i to działa dobrze, ale nie w javaCzy mogę zbudować sql ciąg kwerendy przy użyciu String.format
String Query = String.format("insert into authentication(Id,Name,Email,Password,DOB,Gender,Phone,SQ,SA) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", signup.getId(), signup.getName(), signup.getEmail(), signup.getPassword(), signup.getDate_Of_Birth(), signup.getGender(), signup.getPhone(), signup.getSQ(), signup.getSA());
try {
ps = con.prepareStatement(Query);
int i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return i;
Tutaj zarejestruj jest klasa fasola przedmiot. Ale ta metoda nie działa to tylko zaoszczędzić „{0}”, „{1}” ... w bazie
Inna metoda używam To działa dobrze, ale więcej kodu w porównaniu do string.Format
try {
ps = con.prepareStatement("insert into authentication Id=?,Name=?,Email=?,Password=?,DOB=?,Gender=?,Phone=?,SQ=?,SA=?,IsVerified=?,IsPay=? ");
ps.setString(1, signup.getId());
ps.setString(2, signup.getName());
ps.setString(3, signup.getEmail());
ps.setString(4, signup.getPassword());
ps.setString(5, signup.getDate_Of_Birth());
ps.setString(6, signup.getGender());
ps.setString(7, signup.getPhone());
ps.setString(8, signup.getSQ());
ps.setString(9, signup.getSA());
int i = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
Czy można utworzyć ciąg zapytania SQL za pomocą String.format
w java?
Dzięki @blackpanther Rozumiem koncepcję formatowania ciągów znaków – SarabjeetSingh
Używanie PreparedStatement to nie tylko konwencja. Jest bardziej wydajny i chroni przed SQL Injection. – Catweazle