Guilherme_MelloPJ 9 de abr. de 2005
Thais vc pode fazer assim:
& lt ; %
Statement stm = conn . createStatement & #40 ; & #41 ;;
ResultSet rs = stm . executeQuery & #40 ; & quot ; SELECT max( ; suaChavePrimaria & #41 ; as codigo FROM suaTabela" ; & #41 ;;
int codigo = rs . getInt & #40 ; & quot ; codigo & quot ; & #41 ;; // seu codigo que vem do DB
& lt ; input name = & quot ; codigo & quot ; value = & quot ; & lt ; %= codigo %>" type="text" >
%>
se vc não conseguir, eu te mando um exemplo melhor!!!
:wink:
ThaisPJ 9 de abr. de 2005
Após as alterações os campos do form simplesmente não carregam…fica tudo em branco.
Dê uma olhada no código abaixo por favor
<% @ page import = “ java . sql . * ” %>
<% @ page import = “ java . lang . String ” %>
<%
Connection con = null ;
Statement st = null ;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
}
catch ( Exception e ) {
System.out.println("Erro" + e) ;
}
try {
con = DriverManager.getConnection(" jdbc : odbc : Controle_Contratos ","","");
}
catch(SQLException k){
System.out.println(" Erro " + k);
}
try{
st = con.createStatement();
ResultSet rs = st.executeQuery(" select max ( codContrato ) as codigo from tbContratos ");
int codigo= rs.getInt(" codigo " );
%>
<body>
<form method= “POST” action= “incluirContrato.jsp” >
<table>
<tr>
<td width= “16%” > Código Contrato:</td>
<td width= “84%” ><input type= “text” name= “tfcodContrato” size= “20” value= " <%= codigo %> " ></td>
</tr>
<tr>
<td width= “16%” > Número Contrato:</td>
<td width= “84%” ><input type= “text” name= “tfNumContrato” size= “20” ></td>
</tr>
<tr>
<td width= “16%” > Fornecedor:</td>
<td width= “84%” ><input type= “text” name= “tfFornecedor” size= “20” ></td>
</tr>
<tr>
<td> Assunto</td>
<td><input type= “text” name= “tfAssunto” size= “20” ></td>
</tr>
</table>
<p><input type= “submit” value= “Enviar” name= “btEnviar” ><input type= “reset” value= “Limpar” name= “btLimpar” ></p>
</form>
<%
st . close ();
} catch ( Exception s ) {
System.out.println(" Erro : " + s );
}
finally {
try{
if(st != null)
st.close() ;
} catch ( SQLException a ) {}
try {
if(con!= null)
con.close() ;
} catch ( SQLException a ) {}
}%>
</body>
marcossousaPJ 9 de abr. de 2005
Bem, vamos tentar de outra forma:
1° crie a variável código antes do seu resultSet;
2° passe o seguinte código para antes do fomulário:
<%
st.close();
}catch(Exception s){
System . out . println ( “ Erro : ” + s );
}
finally {
try{
if(st != null)
st.close() ;
} catch ( SQLException a ) {}
try {
if ( con != null )
con .close () ;
}catch ( SQLException a ) {}
}%>
e 3° substitua a linha:int codigo= rs.getInt("codigo");
para:codigo= rs.getInt("codigo") + 1;
:okok:
ThaisPJ 9 de abr. de 2005
Marco,
Agora ocorre erro na saída
Compiling 1 source file to C:\Projetos_Java\ControleContratos\build\generated\classes
C:\Projetos_Java\ControleContratos\build\generated\src\org\apache\jsp\Contrato_jsp.java:94: cannot resolve symbol
symbol : variable codigo
location: class org.apache.jsp.Contrato_jsp
out.print( codigo );
^
Na linha:
<input type=“text” name=“tfcodContrato” size=“20” value="<%= codigo %>"></td>
Muito obrigada mesmo!!!
ThaisPJ 10 de abr. de 2005
Não entendo porque não está funcionando.
Veja
<% @ page import = “ java . sql . * ” %>
<% @ page import = “ java . lang . String ” %>
<html>
<body>
<%
Connection con = null ;
Statement st = null ;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
}
catch ( Exception e ) {
System.out.println("Erro" + e) ;
}
try {
con = DriverManager.getConnection(" jdbc : odbc : Controle_Contratos ","","");
}
catch(SQLException k){
System.out.println(" Erro " + k);
}
try{
st = con.createStatement();
int valor;
ResultSet rs = st.executeQuery(" select max ( codContrato ) as codigo from tbContratos ");
valor = rs.getInt(" codigo ")+1;
st.close();
con.close();
}catch(Exception s){
System.out.println(" Erro : " + s );
}
finally {
try{
if(st != null)
st.close() ;
} catch ( SQLException a ) {}
try {
if(con!= null)
con.close() ;
} catch ( SQLException a ) {}
}%>
<form method=“POST” action=“incluirContrato.jsp”>
<table>
<tr>
<td width=“16%”>Código Contrato:</td>
<td width=“84%”><input type=“text” name=“tfcodContrato” size=“20” value="<%= valor %>"></td>
</tr>
<tr>
<td width=“16%”>Número Contrato:</td>
<td width=“84%”><input type=“text” name=“tfNumContrato” size=“20”></td>
</tr>
<tr>
<td width=“16%”>Fornecedor:</td>
<td width=“84%”><input type=“text” name=“tfFornecedor” size=“20”></td>
</tr>
<tr>
<td>Assunto</td>
<td><input type=“text” name=“tfAssunto” size=“20”></td>
</tr>
</table>
<p><input type=“submit” value=“Enviar” name=“btEnviar”><input type=“reset” value=“Limpar” name=“btLimpar”></p>
</form>
</body>
</html>
marcossousaPJ 10 de abr. de 2005
Taiz,
você não seguiu esta recomendação minha:
insira o código
debaixo linha
Este erro aconteceu porque você declarou sua variável dentro da estrutura try/catch, e não deve declarar variáveis dentro deste trecho de código para utilizar fora dele.
:okok:
ThaisPJ 11 de abr. de 2005
Marco,
Finalmente, conseguimos. Era isso mesmo.
Muuuuuuuuuuuuito obrigada!
Só mais um help…você como que eu faço para que o(s)
usuários(s) não consigam deletar esse Código no campo?
Mais uma vez obrigada!
marcossousaPJ 12 de abr. de 2005
Insira no seu input a atribuição readonly.
& lt ; input type = "text" name = "tfcodContrato" readonly size = "20" value = "<%= valor %>" & gt ;
até mais.