VB.NET ED SQLSERVER - Errore a seguito di StoredProcedure

domenica 20 giugno 2010 - 19.46

86Marco Profilo | Expert

Salve nella mia applicazione VB.net ho due tabelle cosi impostate:

TABELLA: ContiCorrenti (idconto (int-identità, IntestatarioConto (varchar))

TABELLA: MovimentazioneConto (idmov, Descrizione, Entrate, Uscite, idconto (chiave esterna alla tabella ContiCorrenti)

Effettuo tramite i diagrammi le relazioni alle due tabelle.

Ho infine una sp che mi dovrebbe prendere dei parametri da dei controlli di un form per poi inserirli nella tabella movimetazione.
La stored procedue è questa:

ALTER PROCEDURE dbo.InsertMovimentazione
@Descrizione varchar,
@Entrate money,
@Uscite money,
@idconto varchar

AS

Insert into MovimentazioneConto (Descrizione, Entrate, Uscite, idconto)
values (@Descrizione, @Entrate, @Uscite, @idconto)

RETURN

Questo è il codice che utilizzo al click del button sul form

Dim con As New SqlConnection
con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"

Dim cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "InsertMovimentazione"

cmd.Parameters.AddWithValue("Descrizione", TextBox1.Text)
cmd.Parameters.AddWithValue("Entrate", TextBox2.Text)
cmd.Parameters.AddWithValue("Uscite", TextBox3.Text)
cmd.Parameters.AddWithValue("idconto", ComboBox1.SelectedValue)

con.Open()
cmd.Connection = con
cmd.ExecuteNonQuery()
con.Close()

Mi viene però restituito il seguente errore:
L'istruzione INSERT è in conflitto con il vincolo FOREIGN KEY "FK_MovimentazioneConto_ContiCorrenti". Il conflitto si è verificato nella tabella "dbo.ContiCorrenti", column 'idconto' del database "C:\USERS\MARCO\DESKTOP\WINDOWSAPPLICATION1\WINDOWSAPPLICATION1\BIN\DEBUG\DATABASE1.MDF". L'istruzione è stata interrotta.

VI PREGO E' UNA COSA ESTREMAMENTE IMPORTANTE. SPERO POSSIATE VELOCEMENTE RISPONDERMI.
E' un pomeriggio intero che sto uscendo pazzo.

Grazie mille a tutti.

ilario Profilo | Senior Member

ciao

idconto nell'altra tabella è un int o varchar?

hai provato a controllare i valore che inserisci nella store se sono corretti se idconto è giusto?

prova a inserire la riga direttamente in sql e dimmi se la inserisce


ciao

86Marco Profilo | Expert

ei ciao!
ho proprio risolto un minuto fa! :)

in SQL effettivamente mi faceva la insert.
Il problema era di sintassi nel senso che come paramtri della SP settavo varchar senza dichiararare la dimensione :)
CIo mi causava l'errore poichè se inserivo come numeroconto = 1122 esendo varchar mi inseriva solo il primo valore cioè 1, restiuendomi un errore poichè non esisteva un record correlato OVVIAMENTE :)

Grazie!

ilario Profilo | Senior Member

perfetto
ciao
ilario
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5