|
Ol� amigos da lista!!!
Estou apanhando de novo com o SQL Server. Estou implementando uma encomenda de pedidos no meu sistema em java. Funciona legal quando testado no sybase. Mas no SQL eu estou obtendo a seguinte mensagem: INSERT statement conflicted with COLUMN FOREIGN KEY
constraint 'FK_NumeroPed'. The conflict occurred in database 'Malthus', table
'Pedido', column 'Numero'.
Eu n�o consigo imaginar qual possa ser o
erro...
Se eu tento inserir os dados no banco no bra�o, ele aceita... ent�o acredito que n�o deva ser erro na hora de definir a constraint... Algu�m j� se deparou com essa msg e poderia me dar uma luz? Estou enviando abaixo as descri��es das 2 tabelas em que estou inserindo os dados (Pedido e DetPedido), juntamente com as stored procedures e o bloco de programa��o Java que as est� executando. Agrade�o desde j� qualquer ajuda!!! Abra�os e desculpe o inc�modo Ana L�cia [EMAIL PROTECTED]
CREATE TABLE
Pedido
( Numero int NOT NULL, CodigoFP int NOT NULL CONSTRAINT FK_FormaPagamento FOREIGN KEY REFERENCES FormaPgto(Codigo) ON DELETE NO ACTION ON UPDATE CASCADE, CodigoPe int NOT NULL CONSTRAINT FK_CodigoPedido FOREIGN KEY REFERENCES Fornecedor(CodigoPe) ON DELETE NO ACTION ON UPDATE CASCADE, DtEmissao datetime, DtEntrega datetime, DtPrevista datetime, Status char NOT NULL CONSTRAINT PK_Pedido PRIMARY KEY CLUSTERED (Numero) ) CREATE TABLE
DetPedido
( NumeroPed int NOT NULL CONSTRAINT FK_NumeroPed FOREIGN KEY REFERENCES Pedido(Numero) ON DELETE NO ACTION ON UPDATE CASCADE, NumeroProd int NOT
NULL
CONSTRAINT FK_NumeroProd FOREIGN KEY REFERENCES Produto(Codigo) ON DELETE NO ACTION ON UPDATE CASCADE, QtdPedida int NOT NULL, Status char NOT NULL, VlrUnitario float NOT NULL, VlrTotal float CONSTRAINT PK_DetPedido PRIMARY KEY CLUSTERED (NumeroPed, NumeroProd) ) CREATE PROCEDURE InsertPedido
@Numero int, @CodigoFP int, @CodigoPe int, @DtEmissao datetime, @DtEntrega datetime, @DtPrevista datetime, @Status char(1) AS
BEGIN TRANSACTION insert into Pedido values(@Numero, @CodigoFP, @CodigoPe, @DtEmissao, @DtEntrega, @DtPrevista, @Status) COMMIT TRANSACTION GO CREATE PROCEDURE InsertDetPedido @NumeroPed int, @NumeroProd int, @QtdPedida int, @Status char(1), @VlrUnitario float, @VlrTotal float AS BEGIN TRANSACTION insert into DetPedido values(@NumeroPed, @NumeroProd, @QtdPedida, @Status, @VlrUnitario, @VlrTotal) COMMIT TRANSACTION GO void confirmar_ActionPerformed(java.awt.event.ActionEvent event) { Pedido ped = new Pedido(); int num = Integer.parseInt(t_codigo.getText()); java.sql.Date dthj = DataHora.Cocatenar_Data(t_dthj.getText()); java.sql.Date dtprev = DataHora.Cocatenar_Data(t_dtprevista.getText()); int forn = Integer.parseInt(""+(Integer) hforn.get(l_fornecedor.getText())); int forma = Integer.parseInt(""+(Integer) h3.get(l_forma.getText())); ped.spPrepareCall("InsertPedido","?,?,?,?,?,?,?"); int ok =ped.Insert( num,forma,forn, dthj,dtprev, dtprev,"0"); if(ok==0){ DetPedido det = new DetPedido(); det.spPrepareCall("InsertDetPedido","?,?,?,?,?,?"); for(int i=0;i<=(l_item.getNumberOfRows()-1);i++){ //item float valor =Float.valueOf(l_item.getCellText(i,2)).floatValue(); float valort =Float.valueOf(l_item.getCellText(i,3)).floatValue(); int prod = Integer.parseInt(""+(Integer) h1.get(l_item.getCellText(i,0))); int quant = Integer.parseInt(l_item.getCellText(i,1)); // int ok2 = det.Insert(num,prod, quant,"0", valor, valort); } (new Atencao(this, "Encomenda Realizada!", false)).setVisible(true); Clear_TextFields(); confirmacao = true; } } |
- Problemas com Java e SQL Server Ana L�cia
- Ana L�cia
