Olá a todos.
Estou com problemas para inserir campos nulos.
Se eu deixar um campo vazio e clicar em cadastrar, mostra a excessão:
java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES('c', 'ad', 'Masc', 'fasdf', 6563, 65436, [color=red]''[/color], '6', '643'' at line 1
O parenteses de cor vermelha é onde deveria ter setado o campo nulo.
Como inserir se o campo dos tipos int e string, se eles não foram preenchidos?
Caso alguém precise ver o código, está aqui:
<%
String sNome = request.getParameter("nome");
String sSobrenome = request.getParameter("sobrenome");
String sSexo = request.getParameter("sexo");
String sEndereco = request.getParameter("endereco");
int sTelefone;
try {
sTelefone = Integer.parseInt(request.getParameter("telefone"));
} catch (NumberFormatException nfex) {
out.println("Tipo de dados inválido para telefone: " + nfex.toString());
return;
}
int sCPF ;
try {
sCPF = Integer.parseInt(request.getParameter("CPF"));
} catch (NumberFormatException nfex) {
out.println("Tipo de dados inválido para CPF: " + nfex.toString());
return;
}
String sCNPJ = request.getParameter("CNPJ");
String sLogin = request.getParameter("login");
String sSenha = request.getParameter("senha");
%>
<%
Connection con = null;
Statement stmt = null;
try {
Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://localhost:3306/rest_web";
String user="root";
String pass="2017";
con = DriverManager.getConnection(url, user, pass);
stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO administrador (nome, sobrenome, sexo, "+
"endereco, telefone, cpf, cnpj, login, senha VALUES('" +sNome+ "', '" +
sSobrenome+"', '" +sSexo+ "', '" +sEndereco+ "', " +sTelefone+ ", " +
sCPF+ ", '" +sCNPJ+ "', '" +sLogin+ "', '" +sSenha+ "'");
%>
<script language="javascript">alert("Cliente cadastrado com sucesso!")</script>
<%
response.sendRedirect("cadastro_clientes.jsp");
} catch (ClassNotFoundException cnfex) {
out.println("Driver não encontrado<br>Erro: " +cnfex.toString());
} catch (SQLException sqlex) {
out.println("Erro ao cadastrar cliente:<br>" +sqlex.toString());
}
%>
Obrigado.