import java.sql.*;
import javax.swing.JOptionPane;
public class InsereSolicita{
private String url = "jdbc:oracle:thin:@unicgsrv04:1521:prd";
private String driver = "oracle.jdbc.driver.OracleDriver";
private String login = "DBAMV";
private String passwd = "UNIADMIN";
private Connection curConn;
private Connection curConn2;
public void Insere_Sol_Com(int PesqOrc, int estoque)
{
try{
Class.forName(driver);
curConn = DriverManager.getConnection(url, login, passwd);
Statement st = curConn.createStatement();
Statement st2 = curConn.createStatement();
String query;
String query2;
int sol = 0;
int prod = 0;
int nece = 0;
int unid = 0;
query = "INSERT INTO Sol_Com"
+" (cd_sol_com,"
+" cd_cotador,"
+" cd_mot_ped,"
+" cd_setor,"
+" cd_estoque,"
+" nm_solicitante,"
+" tp_situacao,"
+" dt_sol_com,"
+" dt_maxima,"
+" tp_sol_com,"
+" sn_urgente) VALUES"
+" (seq_sol_com.nextval,"
+" 6,"
+" 62,"
+" (SELECT cd_setor FROM estoque WHERE cd_estoque = "+estoque+"),"
+" "+estoque+","
+" 'PLANO DE COMPRAS',"
+" 'P',"
+" sysdate,"
+" sysdate ,"
+" 'P',"
+" 'N')";
boolean rs = st.execute(query);
query2 = "SELECT max(cd_sol_com) FROM Sol_Com WHERE nm_solicitante = 'PLANO DE COMPRAS' AND cd_mot_ped = 62";
ResultSet res = st2.executeQuery(query2);
if(res.next())
sol = res.getInt(1);
query2 = "SELECT cd_produto,"
+" necessidade_liquida,"
+" f_pega_unidade_cd(cd_produto)"
+" FROM plano_de_compras"
+" WHERE sn_necessidade = 'S' AND"
+" necessidade_liquida > 0";
res = st2.executeQuery(query2);
while(res.next())
{
prod = res.getInt(1);
nece = res.getInt(2);
unid = res.getInt(3);
query = "INSERT INTO ItSol_Com (cd_sol_com,"
+" cd_produto,"
+" cd_uni_pro,"
+" qt_solic) VALUES"
+" ( "+sol+","
+" "+prod+","
+" "+unid+","
+" "+nece+")";
if(nece > 0)
rs = st.execute(query);
}
JOptionPane.showMessageDialog(null, "Sol:" + sol);
}catch (ClassNotFoundException e) {
} catch (SQLException e1) {
JOptionPane.showMessageDialog(null,"Erro: " + e1);
}
}//Insere_Sol_Com
}
Erro:
ORA-01400: cannot insert NULL into (“DBAMV”.“EST_PRO”.“CD_ESTOQUE”)
ORA-06512: at “DBAMV.MGCO”, line 104
ORA-06512: at “DBAMV.TRG_I_ITSOL_COM”, line 6
ORA-04088: error during execution of trigger ‘DBAMV.TRG_I_ITSOL_COM’
OBS:
o 1° erro ñ sei por que esta dando, pois faz parte do 1° insert.
Valeu